Superset 0.34和0.36源码安装
安装python3
yum install gcc && yum install openssl-devel -y && yum install zlib-devel -y
cd /usr/local/ && wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
tar xvf Python-3.6.3.tgz
cd Python-3.6.3
./configure --prefix=/usr/local/python3
make && make install
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
设置虚拟环境
线上环境可不使用,直接使用自身的python环境
python3 -m venv myenv
cd myenv
. bin/activate
(myenv) [root@loclhoast myenv]# // 此时便已经有一个python的虚拟环境了
验证:
which python
/root/myenv/bin/python
python -V
Python 3.6.3
源码安装
下载源码
git clone https://github.com/apache/incubator-superset.git
如果网络慢,可以使用 https://gitee.com/mirrors/Superset.git
切换分支
切换到0.34,或着0.36(0.36debug不是很友好,据说是使用python3.8可以)
git checkout 0.34.0
安装扩展依赖,及开发依赖(这里指定豆瓣源)
cd incubator-superset
pip install -r requirements.txt -i https://pypi.douban.com/simple/
安装开发依赖
pip install -r requirements-dev.txt -i https://pypi.douban.com/simple/
安装superset
# incubator-superset 目录执行
pip install -e .
修改mysql配置
pip install pymysql
cd superset/
vim config.py
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://superset:22343234@192.168.62.234:63306/superset'
建数据库时使用的是utf-8字符集
如果需要使用ldap认证,可以私聊
生成数据库表和管理员账号
生成数据库
superset db upgrade
创建管理员账户和密码
$export FLASK_APP=superset
flask fab create-admin
superset init
superset load_examples(需要访问国外地址,此步骤可以忽略)
编译前端文件,并进入开发者模式
下载node
wget https://nodejs.org/dist/v12.18.2/node-v12.18.2-linux-x64.tar.xz
ln -s /xxxx/nodejs/bin/node /usr/local/bin/
ln -s /xxxxx/nodejs/bin/npm /usr/local/bin/
使用淘宝的镜像
npm config set registry https://registry.npm.taobao.org
验证 `npm config get registry`
编译
进入superset/assets目录下(0.36目录incubator-superset/superset-frontend/),安装编译所需模块
npm install -d
npm run build
二次开发的时候
npm run dev会自动编译我们修改的静态文件
启动
superset run -h 0.0.0.0 -p 8088
源码二次开发
Mac
用户可以直接 File -> New Project -> Location选择incubator-superset所在目录 -> 选择Existing interpreter ->myenv/bin/下面的python环境
Win
用户File -> New Project -> Location指定Window的位置, Existing interpreter 配置远程环境 -> 待创建完成后右键 -> Deployment Downland 等待代码下载完成
项目/superset/ 创建run.py
from superset import app
app.run(debug=True, host='0.0.0.0', port=8088) 即可debug启动