跳到主要内容

使用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

让我们确认我们有最新版本的pipsetuptools

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命名空间中安装。