Apache Superset 4.0.2 설치

Dragony·2024년 8월 1일
0

빅데이터

목록 보기
1/1

Apache Superset 4.0.2 를 설치합니다.


1. Apache Superset 설치

  1. 사전작업
  • EPEL 레포지토리 설치
sudo dnf install epel-release -y
  • 패키지 설치
sudo dnf install gcc gcc-c++ libffi-devel python3-devel python3-pip openssl-devel cyrus-sasl-devel openldap-devel
pip3 install --upgrade pip
  • 가상환경 설정
    • 패키지 간의 충돌을 방지를 위해 가상환경을 사용하여 Superset 설치
pip install virtualenv
mkdir /home/dragon/superset
cd /home/dragon/superset
python3 -m venv venv
source venv/bin/activate
  1. Apache Superset 4.0.2 설치
pip install apache-superset==4.0.2
  1. 데이터 베이스 설정
  • 기본으로 제공하는 SQLite를 사용하도록 하겠습니다.
export FLASK_APP=superset

mkdir -p /home/dragon/.superset
touch /home/dragon/.superset/superset_config.py
  • superset 설정파일 수정
    ----> 아래 내용 복사 붙여넣기
# /home/dragon/.superset/superset_config.py
import os
import binascii

SECRET_KEY = binascii.hexlify(os.urandom(24)).decode()
  • DB 업그레이드
export SUPERSET_CONFIG_PATH=~/.superset/superset_config.py
echo 'export SUPERSET_CONFIG_PATH=~/.superset/superset_config.py' >> /home/dragon/superset/venv/bin/activate

superset db upgrade

  1. 관리자 사용자 생성
  • Superset에 접근할 수 있는 관리자를 생성합니다.
  • superset fab create-admin 명령어를 치면 ID, PW를 입력할 수 있는 프롬프트가 뜹니다.
# Create an admin user in your metadata database (use `admin` as username to be able to load the examples)
export FLASK_APP=superset
superset fab create-admin
# dragon/drgony1234 로 계정 설정 함

# Load some data to play with
superset load_examples

# Create default roles and permissions
superset init

# 실행 테스트 
superset run -h 0.0.0.0 -p 8088 --with-threads --reload --debugger

  1. 리눅스 서비스로 등록하기
vi /etc/systemd/system/superset.service
  • 내용
[Unit]
Description=Apache Superset
After=network.target

[Service]
User=mqnic
Group=mqnic
WorkingDirectory=/home/dragon/superset
Environment="PATH=/home/dragon/superset/venv/bin"
ExecStart=/home/dragon/superset/venv/bin/superset run -h 0.0.0.0 -p 8088 --with-threads --reload --debugger

[Install]
WantedBy=multi-user.target

  1. 기동 관련 명령어
sudo systemctl daemon-reload
sudo systemctl start superset
sudo systemctl stop superset
sudo systemctl restart superset
sudo systemctl status superset
sudo systemctl enable superset

  1. 트러블 슈팅
  • 혹시 기동 시 제대로 서비스가 안올라가고, status로 상태 조회했을때 실행 권한이 없다고 자꾸 Permisstion 오류가 뜰 경우 selinux를 비활성화 해야 합니다.
sudo setenforce 0
sestatus

  1. 외부 접속을 위한 방화벽 설정
  • 리눅스에 iptable, firewalld 같은 방화벽이 켜져있다면 superset 포트를 오픈해줍니다.
  • 아래 명령어는 8088 포트 Anyopen 명령어 입니다.
systemctl status firewalld # 켜져있는지 확인 
firewall-cmd --list-ports
firewall-cmd --permanent --zone=public --add-port=8088/tcp
firewall-cmd --reload


profile
안녕하세요 :) 제 개인 공부 정리 블로그입니다. 틀린 내용 수정, 피드백 환영합니다.

0개의 댓글