docker 安装superset流程

785 阅读2分钟

一、Docker 镜像操作

1. 拉取 Docker 镜像

docker pull apache/superset

2. 启动镜像实例

docker run -d -p 8088:8088 --name superset apache/superset

参数说明

  • -d:以守护进程模式运行容器
  • -p 8088:8088:映射容器 8088 端口到宿主机 8088 端口
  • --name superset:指定容器名称

二、Superset 环境初始化

1. 进入容器交互终端

docker exec -it --user root superset bash

⚠️ 异常处理:若提示 nano/vim 未找到,先安装文本编辑器:

apt-get update && apt-get install -y nano  # 或安装 vim:apt-get install -y vim

2. 配置安全密钥与环境

操作步骤

  1. 生成随机安全密钥:
    openssl rand -base64 42
    
  2. 编辑配置文件:
    nano /app/superset_config.py
    
    添加以下内容:
    SECRET_KEY = 'your_secret_key'
    
  3. 导出配置路径环境变量:
    export SUPERSET_CONFIG_PATH=/app/superset_config.py
    

3. 数据库与用户初始化

# 初始化数据库
superset db upgrade

# 设置 Flask 应用入口
export FLASK_APP=superset

# 创建管理员用户(按提示输入邮箱、用户名、密码)
superset fab create-admin

# 完成初始化
superset init

三、数据库驱动安装

1. 安装 MySQL 驱动

⚠️ 前置依赖:先安装编译工具:

apt-get update && apt-get install -y gcc python3-dev pkg-config

安装驱动

pip install mysqlclient

⚠️ 常见问题

  • 若提示 pkg-config not found,执行:apt-get install -y pkg-config
  • 若编译报错,确保已安装 python3-dev

四、启动与访问

  1. 访问地址:初始化完成后,打开浏览器访问:
    http://localhost:8088
  2. 登录配置:使用步骤 2.3 中创建的管理员用户登录,进入后按引导配置数据库连接,如果没有mysql配置项就是驱动没装好。

附:高级配置与异常处理

1. 多线程资源不足处理

  • 临时解决方案当前会话生效:
    ulimit -n 65536  # 在容器内执行
    
  • 永久配置:启动容器时设置文件描述符限制:
    docker run -d -p 8088:8088 --name superset --ulimit nofile=65536:65536 apache/superset
    

2. 配置文件未读取问题

若启动报错「A Default SECRET_KEY was detected, please use superset_config.py ....」,检查:

  1. superset_config.py 文件是否存在且路径正确
  2. SECRET_KEY 格式是否正确,严格遵循 SECRET_KEY = 'your_key'
  3. 配置了环境变量:export SUPERSET_CONFIG_PATH=/app/superset_config.py