第一步:安装Miniconda3(环境管理工具)
① 下载Miniconda3
下载地址:https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
② 安装Miniconda3
上传至虚拟机指定位置:/opt/software/superset
执行安装命令
bash Miniconda3-latest-Linux-x86_64.sh
按回车,继续
输入yes
输入指定的安装位置:/opt/module/miniconda3
输入yes,创建一个默认的base环境
此时,Miniconda3安装完成。
③ 配置国内镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
source ~/.bashrc
④ 常用命令
# 禁止激活默认base环境
conda config --set auto_activate_base false
# 创建一个环境
conda create --name <环境名称> python=3.8
# 查看所有环境。
conda info --envs
# 激活一个环境
conda activate <环境名称>
# 退出当前环境、
conda deactivate
# 删除指定名称的虚拟环境,并删除所有环境相关的包及其依赖。
conda remove --name <环境名称> --all
# 删除指定名称的虚拟环境,同时保留已安装的包和依赖,以备以后重新创建虚拟环境时使用。
conda env remove --name <环境名称>
第二步:安装Superset(以下操作需要在superset的环境中执行)
① 安装依赖
sudo yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel
② 确保我们拥有最新版本的 setuptools、pip
pip install --upgrade setuptools pip
使用 pip 安装软件时,速读可能会很慢,这时候可以用 -i 来使用国内的镜像源,比如使用清华大学的镜像源:
pip install --upgrade setuptools pip -i https://pypi.tuna.tsinghua.edu.cn/simple
③ 安装 Superset
执行安装命令:
pip install apache-superset -i https://pypi.tuna.tsinghua.edu.cn/simple
出现以下界面即安装成功
⑤ 初始化 Superset 数据库
在初始化之前,需要设置环境变量
说明:flask是一个python web框架,Superset使用的就是flask
export FLASK_APP=superset
创建 superset 配置文件,并设置环境变量
进入 superset 安装目录
# 查找superset文件夹
find / -name superset
由于 superset 是安装在虚拟环境中的,所以位置在对应环境下
cd /opt/module/miniconda3/envs/superset/lib/python3.9/site-packages/superset
生成一个强密钥
openssl rand -base64 42
添加配置文件
vim superset_config.py
将刚生成的强密钥配置在配置文件中
SECRET_KEY = 'EyPCIdqUIuSr56ypCVFXpP1GPGh0nV82B2fV584UOckurFUVDrFsX+F1'
添加好配置文件后,设置环境变量
export SUPERSET_CONFIG_PATH=/opt/module/miniconda3/envs/superset/lib/python3.9/site-packages/superset/superset_config.py
配置好前面的两个环境变量后,可以初始化数据库
superset db upgrade
出现以下界面,数据库初始化成功
⑥ 创建管理员用户
superset fab create-admin
输入用户名
输入密码
⑦ Superset 初始化
superset init
出现以下界面,Superset 初始化成功
第三步:Superset 的启停
① 安装 gunicorn
pip install gunicorn -i https://pypi.tuna.tsinghua.edu.cn/simple
② 启动
gunicorn --workers 5 --timeout 120 --bind 0.0.0.0:8088 --daemon 'superset.app:create_app()'
--works:指线程数
--timeout:worker 进程超时时间,超时会自动重启
--bind:绑定本机地址,即Superset访问地址。这里绑定的地址需要设置为:0.0.0.0:8088,这样将会使gunicorn监听在所有网络接口上,而不仅仅是localhost。
--daemon:后台运行
③ 停止
- 停止 gunicorn 进程
ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9
- 退出 superset 环境
conda deactivate
④ 启停脚本
为了方便启停 Superset 服务,在 /bin 目录下创建一个脚本
cd /bin/
vim superset.sh
将以下代码粘贴至脚本文件
#!/bin/bash
superset_status(){
result=`ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | wc -l`
if [[ $result -eq 0 ]]; then
return 0
else
return 1
fi
}
superset_start(){
source ~/.bashrc
superset_status >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
conda activate superset ; export FLASK_APP=superset ; export SUPERSET_CONFIG_PATH=/opt/module/miniconda3/envs/superset/lib/python3.9/site-packages/superset/superset_config.py ; gunicorn --workers 5 --timeout 120 --bind 0.0.0.0:8088 --daemon 'superset.app:create_app()'
else
echo "superset 正在运行"
fi
}
superset_stop(){
superset_status >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
echo "superset 未在运行"
else
ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9
fi
}
case $1 in
start )
echo "启动 Superset"
superset_start
;;
stop )
echo "停止 Superset"
superset_stop
;;
restart )
echo "重启 Superset"
superset_stop
superset_start
;;
status )
superset_status >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
echo "superset 未在运行"
else
echo "superset 正在运行"
fi
esac
在启动方法中,执行了四个步骤:
- conda activate superset
- export FLASK_APP=superset
- export SUPERSET_CONFIG_PATH=/opt/module/miniconda3/envs/superset/lib/python3.9/site-packages/superset/superset_config.py
- gunicorn --workers 5 --timeout 120 --bind localhost:8088 --daemon 'superset.app:create_app()'
第一个步骤:切换superset环境
第二、三个步骤:配置环境变量(大多数教程中没有这两个步骤,尝试下来会出现启动后无法访问superset的情况)
第四个步骤:运行superset
加执行权限
chmod +x superset.sh
第四步:进入 Superset 应用
- 执行启动命令
superset.sh start
- 输入用户名密码,登录系统