从头开始安装Superset
操作系统依赖
Superset需要在自己的元数据库中存储数据库连接信息,因此,我们使用密码学的python库来加密数据库连接的密码,不幸的是,这个库需要依赖于操作系统的级别。
Debian and Ubuntu
下面的命令确保了安装所需的依赖:
sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev
Ubuntu 20.04还需要安装以下依赖:
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev python3-pip libsasl2-dev libldap2-dev
Fedora和rhel派生的Linux发行版
使用yum命令,安装以下安装包
sudo yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel
Mac OS X
待补充
Python虚拟环境
我们强烈建议在虚拟环境中安装Superset,Python 3自带了virtualenv,但您仍可以使用以下方式进行安装:
pip install virtualenv
您可以使用如下指令,创建和激活虚拟环境:
python3 -m venv venv
. venv/bin/activate
一旦您激活了虚拟环境,您安装或卸载的所有Python包将被限制在这个环境中。您可以通过在命令行上运行deactivate来退出环境。
安装和初始化Superset
首先,从安装apache-superset开始
pip install apache-superset
然后,你需要初始化数据库:
superset db upgrade
遇到如下问题:
- ModuleNotFoundError: No module named ‘_bz2’
处理方案,执行第2,3步骤即可 - ModuleNotFoundError: No module named ‘_sqlite3’
参考处理方案 - 默认python的版本是2.7,需要指定python指令默认指向python3.6
ln -s /usr/bin/python3 /usr/bin/python
通过运行以下命令完成安装:
# Create an admin user (you will be prompted to set a username, first and last name before setting a password)
$ export FLASK_APP=superset
superset fab create-admin
# Load some data to play with
# 会出现一些连接失败,属于网络问题,可以跳过
superset load_examples
# Create default roles and permissions
superset init
# To start a development web server on port 8088, use -p to bind to another port
# 默认开放给外网:-h 0.0.0.0
superset run -h 0.0.0.0 -p 8088 --with-threads --reload --debugger
如果一切正常,您应该能够通过您的浏览器来访问hostname:port(例如,本地默认为localhost:8088),并使用您创建的用户名和密码登录。