使用Scratch安装Superset
操作系统依赖
Superset在它的元数据库里存储数据库连接信息。因为这个原因,我们使用Python加密库给密码加密。不幸的是,这个库有操作系统级别的依赖。
Debian和Ubuntu
下面的命令将确保需要的依赖被安装:
sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev default-libmysqlclient-dev
对于Ubuntu 20.04,下面的命令将确保需要的依赖被安装:
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev python3-pip libsasl2-dev libldap2-dev default-libmysqlclient-dev
Fedora和红帽衍生的Linux分支
使用yum
包管理器安装下面的包:
sudo yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel
在最新版本的CentOS和Fedora中,你可能需要使用dnf
来安装稍微有点不同的包:
sudo dnf install gcc gcc-c++ libffi-devel python3-devel python3-pip python3-wheel openssl-devel cyrus-sasl-devel openldap-devel
另外,在CentOS中,你可能需要升级pip才能成功安装:
pip3 install --upgrade pip
Mac OS X
如果你不是最新版本的mac操作系统,我们建议升级到最新版本,因为我们发现,多数有问题的用户运行在mac的老版本上。在升级后,安装最新办的的XCode命令行工具:
xcode-select --install
我们不建议使用系统安装的Python.改为首先安装homebrew管理器,然后执行下面的命令
brew install readline pkg-config libffi openssl mysql postgres
你应该安装一个最新的版本的Python(官方docker镜像使用3.8.12)。我们建议使用一个Python版本管理器,例如 pyenv 或者 pyenv-virtualenv。
让我们确认我们有最新版本的pip
和setuptools
:
pip install --upgrade setuptools pip
最后,为了Python包能进行构建,你可以需要设置LDFLAGS和CFLAGS。你能使用下面的语句导出这些变量:
export LDFLAGS="-L$(brew --prefix openssl)/lib"
export CFLAGS="-I$(brew --prefix openssl)/include"
这些操作将满足pip安装的条件。
Python虚拟环境
我们强烈推荐使用一个虚拟环境安装Superset。Python带有开箱即用的virtualenv
。如果你正在使用pyenv,你可以安装 pyenv-virtualenv。或者你使用使用pip
安装它。
pip install virtualenv
你可以通过下面的命令创建和激活一个虚拟环境:
# virtualenv是从Python 3.6+开始代替pyvenv作为虚拟环境库
# 详情见 https://docs.python.org/3.6/library/venv.html
python3 -m venv venv
. venv/bin/activate
或者使用pyenv-virtualenv:
# 我们给虚拟环境命名为'superset'
pyenv virtualenv superset
pyenv activate superset
一旦你激活你的虚拟环境,所有的安装或卸载的Python包都会限制在这个虚拟环境中。你可以在命令行中执行deactivate
来退出这个环境。
安装和初始化Superset
首先,开始安装apache-superset
:
pip install apache-superset
然后, 你需要初始化数据库:
superset db upgrade
最后,通过下面的命令运行Superset:
# 在你的元数据库引擎里创建admin用户(使用`admin`作为用户名,它能够加载示例)
export FLASK_APP=superset
superset fab create-admin
# 加载实例数据
superset load_examples
# 创建默认角色和权限
superset init
# 在端口8088上启动开发web服务器,可以使用-p绑定其他的端口
superset run -p 8088 --with-threads --reload --debugger
如果每步都成功,你应该在你的浏览器中输入hostname:port
(例如:本地默认是 localhost:8088
),然后,使用你创建的用户名和密码登录。
在Kubernetes使用Helm安装Superset
你可以使用Helm把Superset安装在Kubernetes,它将会位于helm/
目录中。
为了在你的Kubernetes集群中使用Helm 3安装Superset,请执行下面的命令:
helm dep up ./helm/superset
helm upgrade --install superset ./helm/superset
注意:执行上面的命令将在你的Kubernetes集群的default
命名空间中安装。