一、环境准备

已安装Docker或Docker Desktop

已安装Python及配置好环境变量

二、部署Apache Superset

(一)拉取Superset的Docker镜像

打开 PowerShell 直接运行:

docker pull apache/superset:6.0.0

(二)运行Superset容器

创建以下文件夹及文件

D:\Docker\docker_volumes\superset_data:本地挂载容器内 Superset 的工作目录

D:\Docker\superset\superset_config.py:本地挂载Superset配置文件

D:\Docker\superset\translations\zh\LC_MESSAGES:挂载汉化文件

打开 PowerShell或CMD,执行命令

docker run -d -p 8088:8088

  --name my-superset

  -e SUPERSET_SECRET_KEY=123456

  -v D:\Docker\docker_volumes\superset_data:/app/superset_home

  -v D:\Docker\superset\superset_config.py:/app/pythonpath/superset_config.py

  -v D:\Docker\superset\translations:/app/superset/translations

  apache/superset:6.0.0

参数说明:

-e SUPERSET_SECRET_KEY:必须配置, 否则无法启动, 这个密钥会用来签名 cookie 和加密 Superset 存储在数据库中的敏感数据;

-v D:\Docker\docker_volumes\superset_data:/app/superset_home:存你的图表、仪表盘、数据(持久化);

-v D:\Docker\superset\superset_config.py:/app/pythonpath/superset_config.py:配置文件(数据库、中文、安全);

-v D:\Docker\superset\translations:/app/superset/translations:装中文语言包,只用挂载到transations目录即可。

(三)初始化数据库

在首次运行Superset容器时,你需要初始化数据库。为此,你需要进入容器的命令行界面,并执行初始化脚本。首先,使用以下命令进入容器:

docker exec -it my-superset bash

然后,在容器内部,运行初始化数据库的命令:

# 初始化数据库

superset db upgrade

作用:创建数据库表结构

(四)创建管理员用户

初始化数据库后,你需要创建一个管理员用户。同样在容器的命令行界面中,运行以下命令来创建一个用户:

# 创建管理员(会让你输入用户名、密码、邮箱)

superset fab create-admin

按顺序输入用户名、邮箱及密码。

作用:创建管理员账号

(五)初始化基础数据

创建管理员用户后,你需要初始化基础数据。同样在容器的命令行界面中,运行以下命令来初始化基础数据:

# 初始化权限、菜单

superset init

作用:初始化基础数据,否则登录之后无法使用

(六)删除容器

# 删容器,保留数据卷
docker rm -f my-superset 
# 删容器 + 删数据卷(清空)
docker rm -f -v my-superset 

三、初次访问

通过浏览器访问http://localhost:8088来查看Superset的Web界面

点击登录按钮。

四、常见问题

(一)如何汉化Superset?

1.下载po文件

下载Superset的官方压缩包,找到superset/translations/zh/LC_MESSAGES下的messages.po文件,复制到本地superset/translations/zh/LC_MESSAGES下。

2.安装编译工具

打开 PowerShell或CMD,执行命令:

pip install Babel

3.编译po文件

同时在 PowerShell或CMD内,切换到本地superset/translations/zh/LC_MESSAGES目录下,执行命令:

pybabel compile -i messages.po -o messages.mo

参数说明:

pybabel:一个翻译工具,负责处理 .po 和 .mo 文件

compile:把 .po → 变成 .mo

-l:翻译文件

-o:输出到哪里

po = 人看的翻译文件

mo = 程序看的翻译文件

这条命令 = 把 po 变成 mo

注意:messages.po和messages.mo文件必须放到本地的superset\translations\zh\LC_MESSAGES中。

4.配置superset_confg.py

找到本地创建好的superset_config.py文件,编辑superset_config.py,增加下边内容:

LANGUAGES = {

    "en": {"flag": "us", "name": "English"},

    "zh": {"flag": "cn", "name": "简体中文"},

}

主要目的是页面中将语言配置入口打开。

关键说明:

必须挂载本地 superset_config.py 到容器 /app/pythonpath/superset_config.py

例如:D:\Docker\superset\superset_config.py:/app/pythonpath/superset_config.py

必须挂载本地mo和po文件到容器/app/superset/translations

例如:D:\Docker\superset\translations:/app/superset/translations

以下为汉化后整体效果图:

以上就是整体部署流程。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐