〇Apache Supersetの画面
インストール方法
1. firewallでhttpの8088番ポートを開けますsudo firewall-cmd --add-port=8088/tcp --permanent
sudo firewall-cmd --reload
2. SELinuxの無効化
sudo setenforce 0
sudo getenforce
sudo sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
3. PostgreSQL14をインストール
wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo rpm -Uvh pgdg-redhat-repo-latest.noarch.rpm
sudo dnf -qy module disable postgresql
sudo dnf -y update
sudo dnf -y install postgresql14-server postgresql14-devel postgresql14-contrib
sudo systemctl enable postgresql-14
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
echo "listen_addresses='*'" | sudo tee -a /var/lib/pgsql/14/data/postgresql.conf
sudo sed -i 's/host.*all.*all.*127.0.0.1/#host all all 127.0.0.1/g' /var/lib/pgsql/14/data/pg_hba.conf
sudo sed -i 's|^host.*all.*all.*::1/128|#host all all ::1/128|g' /var/lib/pgsql/14/data/pg_hba.conf
echo "host all all 127.0.0.1/32 password" | sudo tee -a /var/lib/pgsql/14/data/pg_hba.conf
echo "host all all ::1/128 password" | sudo tee -a /var/lib/pgsql/14/data/pg_hba.conf
echo "host all all 192.168.1.0/24 password" | sudo tee -a /var/lib/pgsql/14/data/pg_hba.conf
※ネットワークアドレスは適宜変更してくださいsudo systemctl start postgresql-14.service
sudo su - postgres << EOF
psql -c "
alter user postgres with password 'postgres';
create user superset with password 'superset';
"
psql -c "
create database superset owner superset encoding 'UTF8' lc_collate 'ja_JP.UTF-8' lc_ctype 'ja_JP.UTF-8' template 'template0';
"
EOF
※ユーザー名・パスワードは適宜変更してください4.pipenvのインストール
sudo dnf -y install python3 python3-devel python3-pip
sudo pip3 install --upgrade pip
sudo pip3 install --upgrade setuptools
sudo pip3 install pipenv
echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc
echo "export PYTHONPATH=/home/rocky/superset" >> ~/.bashrc
※この例ではrockyユーザのホームディレクトリ下のsupersetディレクトリにsuperset_config.pyを配置することを想定しています。適宜パスを変更してください。source ~/.bashrc
5.Apache Supersetのインストール
sudo dnf -y install gcc gcc-c++ libffi-devel python3-wheel openssl-devel cyrus-sasl-devel openldap-devel
mkdir -p ~/superset
cd ~/superset
pipenv --python 3
pipenv install apache-superset
pipenv install psycopg2-binary
pipenv install dataclasses
SECRET_KEY=`echo -e "import os; print(os.urandom(24).hex())" | python3`
cat << EOF > superset_config.py
# Superset specific config
ROW_LIMIT = 5000
BABEL_DEFAULT_LOCALE='ja'
SUPERSET_WEBSERVER_PORT = 8088
# Flask App Builder configuration
# Your App secret key
#SECRET_KEY = '\2\1thisismyscretkey\1\2\e\y\y\h'
SECRET_KEY = '#####'
# The SQLAlchemy connection string to your database backend
# This connection defines the path to the database that stores your
# superset metadata (slices, connections, tables, dashboards, ...).
# Note that the connection information to connect to the datasources
# you want to explore are managed directly in the web UI
#SQLALCHEMY_DATABASE_URI = 'sqlite:////path/to/superset.db'
SQLALCHEMY_DATABASE_URI = 'postgresql://superset:superset@localhost/superset'
# Flask-WTF flag for CSRF
WTF_CSRF_ENABLED = True
# Add endpoints that need to be exempt from CSRF protection
WTF_CSRF_EXEMPT_LIST = []
# A CSRF token that expires in 1 year
WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365
# Set this API key to enable Mapbox visualizations
MAPBOX_API_KEY = ''
EOF
※データベースのパスワードなど、適宜変更してください。sed -i "s/#####/$SECRET_KEY/" superset_config.py
pipenv shell
superset db upgrade
superset fab create-admin --username admin --firstname admin --lastname user --email admin@localhost.localdomain --password admin
※管理者のユーザ名やパスワードなど適宜変更してください。superset load_examples
superset init
superset run -h 0.0.0.0 -p 8088 --with-threads --reload
※動作の確認。Ctrl+Cで止めます。6. サービス化
cat << EOF | sudo tee /etc/systemd/system/superset.service
[Unit]
Description=superset
[Service]
Type=simple
Environment=PYTHONPATH=/home/rocky/superset
ExecStart=/home/rocky/superset/.venv/bin/superset run -h 0.0.0.0 -p 8088 --with-threads --reload
User=rocky
Group=rocky
WorkingDirectory=/home/rocky/superset
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
※この例ではrockyユーザでサービスを実行し、supersetをインストールした仮想環境は/home/rocky/supersetにあることを想定しています。適宜変更してください。sudo systemctl enable superset.service
sudo systemctl start superset.service
ブラウザでhttp://<サーバ名またはIPアドレス>:8088/ にアクセスします。adminユーザ、パスワードadminでログインします。
関連情報
・Apache Supersetのインストール方法、ダッシュボードやチャートの作成方法は以下のページを参照してください。Apache Supersetのまとめ
0 件のコメント:
コメントを投稿