Superset--基础--2.2--部署--docker
我们使用docker-compose 进行快速生产部署Superset。
·
Superset–基础–2.2–部署–docker
1、介绍
我们使用docker-compose 进行快速生产部署Superset
1.1、环境
| 软件 | 版本 | 备注 |
|---|---|---|
| Superset | 4.0.1 | |
| docker | 20.10.12 | |
| docker-compose | 1.29.2 | |
| git | 1.8.3.1 | 下载源码使用 |
2、安装
2.1、下载资源
# 下载源码
git clone https://github.com/apache/superset.git
# 进入目录
cd superset
# 切换到指定的稳定版本(请替换为最新的稳定版标签)
# 假设最新稳定版是 4.0.1
git checkout 4.0.1
# 定义环境变量
export TAG=4.0.1
2.2、配置环境变量
- Superset 的
docker-compose配置通过.env文件加载环境变量。
# c创建环境变量,从非开发模式模板复制
cp -f docker/.env-non-dev docker/.env
# 生成一个强密钥
secret_key=`openssl rand -base64 42`
# ----------修改docker/.env的环境变量----------
# 更新密钥:SUPERSET_SECRET_KEY
sed -i "s|SUPERSET_SECRET_KEY=TEST_NON_DEV_SECRET|SUPERSET_SECRET_KEY=$secret_key|g" docker/.env
# 确保在生产环境中关闭示例数据加载
sed -i "s|SUPERSET_LOAD_EXAMPLES=yes|SUPERSET_LOAD_EXAMPLES=false|g" docker/.env
2.3、配置 docker-compose-non-dev.yml (可选,但推荐)
默认的 docker-compose-non-dev.yml 包含了 Superset Web 服务器、Celery Worker、Celery Beat、Redis 缓存和 PostgreSQL 元数据数据库。
对于生产环境,需要注意下面2点
- 数据持久化:确保 PostgreSQL 和 Redis 的数据卷被映射到宿主机的持久化存储路径,以便在容器重启后数据不丢失。默认配置已经包含了数据卷,请确保其路径安全可靠。
- 添加健康检查:为关键服务(如 superset、postgres)添加
healthcheck指令,以便 Docker 可以监控其健康状态。
2.3.1、docker-compose-non-dev.yml 中添加健康检查
# 备份
cp docker-compose-non-dev.yml docker-compose-non-dev.yml.back
# 添加健康检查
vim docker-compose-non-dev.yml
添加健康检查
# 配置
services:
superset:
# ... 其他配置 ...
# 这里新增以下配置
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8088/health"]
interval: 30s
timeout: 10s
retries: 3

2.4、初始化与启动
# -------------初始化与启动-------------
# 拉取镜像
docker-compose -f docker-compose-non-dev.yml pull
# 启动服务 (后台运行):
docker-compose -f docker-compose-non-dev.yml up -d
# 初始化数据库和管理员账户,服务启动后,我们需要在superset容器内执行初始化命令。
# 初始化数据库(创建表结构)
docker-compose -f docker-compose-non-dev.yml exec superset superset db upgrade
# 创建管理员用户(根据提示输入用户名、邮箱和密码).如果不创建的化,有个默认的账号密码admin/admin
docker-compose -f docker-compose-non-dev.yml exec superset superset fab create-admin
# 初始化默认角色和权限
docker-compose -f docker-compose-non-dev.yml exec superset superset init
2.4、访问与验证
http://localhost:8088

3、常用命令
# 停止服务
docker-compose -f docker-compose-non-dev.yml down
# 拉取镜像
docker-compose -f docker-compose-non-dev.yml pull
# 启动服务 (后台运行):
docker-compose -f docker-compose-non-dev.yml up -d
# 查看服务日志
docker logs superset_app
更多推荐
所有评论(0)