- 1、安装Miniconda
- 1、下载Miniconda
- 2、安装
- 3、开启一个新的shell窗口
- 4、设置新窗口不自动开启conda
- 2、创建Python3.7环境
- 1、配置国内镜像
- 2、常用命令
- 3、安装Superset
- 1、安装依赖
- 2、升级setuptools和pip
- 3、安装Superset
- 4、初始化Superset数据库
- 5、创建管理员用户
- 6、Superset初始化
- 4、启动Supterset
- 1、安装gunicorn
- 2、启动
- 3、停止
- 4、使用启停脚本
- 5、对接MySQL数据源
- 1、安装依赖
- 2、重启superset
1、安装Miniconda
因为安装Superset需要Python3.7的环境,为了实现一个机器不同版本的Python,所以可以通过Miniconda来在不同的Python环境中进行切换
1、下载Miniconda
官网地址:https://conda.io/en/latest/miniconda.html
2、安装
执行命令:bash Miniconda3-latest-Linux-x86_64.sh
接下就是一直回车空格
这里设置安装路径
3、开启一个新的shell窗口
4、设置新窗口不自动开启conda
conda config --set auto_activate_base false
重回base命令:conda activate base
2、创建Python3.7环境
conda自带3.7的python环境,这里主要是为了学习conda命令,所以可以跳过
1、配置国内镜像
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
2、常用命令
conda create -n superset python=3.7 # 创建环境superset
conda info --envs # 查看所有环境
#conda remove -n superset --all # 删除环境superset
conda activate superset # 切换到 superset 环境
python -V # 检查环境
conda deactivate # 退出当前环境
3、安装Superset
1、安装依赖
yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel python-setuptools openssl-devel cyrus-sasl-devel openldap-devel
2、升级setuptools和pip
pip install --upgrade setuptools pip -i https://pypi.douban.com/simple
3、安装Superset
pip install apache-superset -i https://pypi.douban.com/simple
4、初始化Superset数据库
superset db upgrade
这里我出现了error:ImportError: cannot import name ‘soft_unicode’ from ‘markupsafe’,是因为markupsafe的问题,解决:pip install markupsafe==2.0.1 将markupsafe进行降级处理
5、创建管理员用户
export FLASK_APP=superset
superset fab create-admin
修改用户时:进入root用户下隐藏文件删除superset.db,然后初始化,重新创建
6、Superset初始化
superset init
4、启动Supterset
1、安装gunicorn
pip install gunicorn -i https://pypi.douban.com/simple ,gunicorn是一个web Server,和java中的tomcat类似
2、启动
gunicorn --workers 5 --timeout 120 --bind 92.168.163.201:8787:8787 "superset.app:create_app()" --daemon
3、停止
ps -ef | awk '/superset/ && !/awk/{print $2}' | xargs kill -9
4、使用启停脚本
#!/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; gunicorn --workers 5 --timeout 120 --bind 0.0.0.0:8787 --daemon "superset.app:create_app()"
else
echo "superset is running."
fi
}
superset_stop(){
superset_status >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
echo "superset is not run."
else
ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9
fi
}
case $1 in
start )
echo "start superset..."
superset_start
;;
stop )
echo "stop superset..."
superset_stop
;;
restart )
echo "restart superset..."
superset_stop
superset_start
;;
status )
superset_status >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
echo "superset is not run."
else
echo "superset is running."
fi
esac
设置执行权限:chmod +x
后续执行命令:
superset.sh status
superset.sh start
superset.sh stop
5、对接MySQL数据源
1、安装依赖
conda install mysqlclient
hive的依赖:conda install pyhive