一、环境
操作系统:centos 7
python 3.6
二、安装步骤和重点
1、安装python3以上
Python3 安装
#安装依赖包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
#下载安装
cd /usr/local/src #进⼊源码⽂件夹
wget www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz #下载python⽂件
tar -xf Python-3.6.6.tgz #解压缩
cd Python-3.6.6 #进⼊python ⽂件夹
./configure #配置 建议加上 --prefix=
make && make install #安装
2、安装python虚拟环境和密码验证工具,建议直接按照以下指令顺序执行就好
#安装
yum upgrade python-setuptools
yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel
pip3 install cryptography
pip3 install virtualenv
3、新建一个虚拟空间进行操作,(网上一堆的教程都是将superset安装在容器之中,可能是为了环境隔离吧,因为中间需要使用的第三方依赖库还是很多的,避免影响了原始业务系统环境吧)
#创建虚拟环境
mkdir /opt/app/superset -p
python3 -m venv venv -- 新建一个名为venv的容器空间,同时也会新建在当前目录下新建一个venv的文件夹,请提前切换好工作文件夹
. venv/bin/activate -- 进入venv的容器环境
pip3 install superset -- 容器环境下安装superset
以下是重点,最多坑的地方,因为superset的运行依赖很多第三方库代码,所以安装python的依赖包并保证完整性很费事,有人整理了一个文档将这些依赖包进行汇总,下载此文档后,在本地按照文件安装依赖包就好
安装步骤
#部署
wget https://github.com/Warding/InternetRecords/blob/master/%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8/superset_requirements.txt
pip3 install -r superset_requirements.txt -- 安装依赖包
superset db upgrade -- 初始化db环境
export FLASK_APP=superset --账户设定
flask fab create-admin --创建账户按提示输入账密就好
superset load_examples --下载样例数据,可不执行
superset init --superset环境初始化
superset run -p 8088 -h 192.168.2.1 --with-threads -- superset 启动(这里面我指定了端口和IP,分别是-p 和 -h 参数,建议指定成自己的服务器IP和某个端口,网页访问的时候,**还需要将这个端口对外开放,不然你本地登录网页访问会无法成功**)
4、使用 输入上面的IP和端口对应的网址就行 http://192.168.2.1:8088/, 登录后输入刚刚建立的账密就好
问题:
1、出现superset 使用问题,比如缺失什么Python的第三方依赖库,请一定要在容器空间内安装所需的依赖包,例如需要连接mysql,你需要进入venv容器下进行安装pip3 install pymysql,然后需要重启superset
2、退出容器命令 deactivate
3、为避免出现关闭shell窗口导致superset无故退出,建议在容器下nohup 启动superset,
cd /opt/app/superset
source venv/bin/activate
nohup superset run -p 8088 -h 0.0.0.0 --with-threads &> /opt/app/superset/access.log 2>&1 &
配置clickhouse连接时报错 sqlalchemy.exc.NoSuchModuleError: Can’t load plugin: sqlalchemy.dialects:clickhouse
安装模块前提,必须再python虚拟环境下执行!!!
cd /opt/app/superset
source venv/bin/activate
pip3 install sqlalchemy-clickhouse
缺少kylin模块,直接安装
cd /opt/app/superset
source venv/bin/activate
pip3 install kylinpy