如何在 Superset Docker 容器中安装 MySQL 驱动
如何在 Superset Docker 容器中安装 MySQL 驱动Apache Superset 是一款功能强大的开源数据挖掘与可视化平台支持多种数据源连接、自定义仪表盘和细粒度权限控制广泛应用于数据运维与分析场景。由于 Superset 官方 Docker 镜像未默认集成 MySQL 驱动在实际运维中需手动安装驱动才能实现与 MySQL 数据库的正常连接。本文将详细介绍两种 Docker 部署方式Docker run 和 Docker Compose下MySQL 驱动的完整安装流程同时兼顾 Apache Doris 驱动安装适配多数据源需求并提供数据库配置方法和常见注意事项。一、前置说明可能是因为MySQL是使用的GPL协议所以Superset官方镜像中未包含MySQL驱动需要手动安装。二、Docker run 方式安装Docker run 方式步骤清晰适合快速部署单个 Superset 容器无需复杂配置具体操作如下2.1 拉取并启动 Superset 容器执行以下命令拉取官方镜像并启动容器映射端口、配置时区和安全密钥确保容器后台稳定运行# 拉取并运行Superset的Docker镜像 docker run -d \ --name superset \ --restart always \ -p 8088:8088 \ -e TZAsia/Shanghai \ -e SUPERSET_SECRET_KEY*Abcd123456 \ --user root \ apache/superset:latest2.2 进入容器并安装依赖与驱动这一步很关键因为Superset是运行在 Python 虚拟环境中的所以需要在Python 虚拟环境安装依赖与驱动否则驱动的安装将会不成功。容器启动后进入容器内部替换 apt 源为阿里云镜像提升下载速度安装编译依赖再安装 MySQL 和 Doris 驱动# 进入Superset容器 docker exec -it superset bash # 替换apt源为阿里云镜像源 sed -i s/deb.debian.org/mirrors.aliyun.com/g /etc/apt/sources.list.d/debian.sources sed -i s/security.debian.org/mirrors.aliyun.com/g /etc/apt/sources.list.d/debian.sources apt-get update # 安装编译pydoris和pymysql所需的依赖 apt-get install -y gcc python3-dev default-libmysqlclient-dev pkg-config # 给官方阉割的虚拟环境 安装 pip /app/.venv/bin/python -m ensurepip # 升级 pip /app/.venv/bin/python -m pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/ # 安装 pymysql 和 pydoris 到 Superset 真正使用的环境里 /app/.venv/bin/python -m pip install pymysql pydoris -i https://mirrors.aliyun.com/pypi/simple/ # 验证安装 /app/.venv/bin/pip list | grep pydoris验证成功后会显示pydoris 1.1.0版本可能略有差异不影响使用说明驱动已正确安装到 Superset 运行环境中。2.3 初始化 Superset 并重启容器驱动安装完成后需执行数据库迁移、创建管理员账户、初始化角色等操作确保 Superset 正常使用最后重启容器使配置生效# 将本地数据库迁移到最新版本 docker exec -it superset superset db upgrade # 设置本地superset系统管理员账户 docker exec -it superset superset fab create-admin \ --username admin \ --password admin \ --firstname Superset \ --lastname Admin \ --email adminsuperset.com # 初始化设置角色 docker exec -it superset superset init # 重启Superset容器 docker restart superset2.4 访问验证容器重启后通过以下地址访问 Superset 控制台访问地址http://localhost:8088/login/登录账号admin/admin默认管理员账户生产环境建议及时修改密码三、Docker Compose 方式安装适合生产环境部署Docker Compose 可实现容器的批量管理和配置持久化适合生产环境部署无需手动执行多步命令一键完成部署和驱动安装具体配置如下networks: app-tier: driver: bridge services: superset: image: apache/superset:latest container_name: superset hostname: superset restart: always user: root ports: - 8088:8088 # 端口映射宿主机8088端口对应容器8088端口 networks: - app-tier environment: TZ: Asia/Shanghai # 配置时区为上海避免时间显示异常 SUPERSET_SECRET_KEY: *Abcd123456 # 安全密钥生产环境建议修改为复杂密钥 SUPERSET_ENV: production # 生产环境模式 volumes: - ./superset_data:/app/data # 数据持久化避免容器删除后数据丢失 command: bash -c apt-get update apt-get install -y gcc python3-dev default-libmysqlclient-dev pkg-config /app/.venv/bin/python -m ensurepip /app/.venv/bin/python -m pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/ /app/.venv/bin/python -m pip install pymysql pydoris -i https://mirrors.aliyun.com/pypi/simple/ superset db upgrade superset fab create-admin --username admin --password admin --firstname Admin --lastname Admin --email adminadmin.com || true superset init /usr/bin/run-server.sh 3.1 启动与验证将上述配置保存为docker-compose.yml文件放在任意目录下进入配置文件所在目录执行命令docker-compose up -d启动容器并后台运行容器启动后可通过docker logs -f superset查看启动日志确认无报错后访问 http://localhost:8088使用admin/admin登录即可。说明|| true用于避免重复创建管理员账户时报错确保脚本可重复执行数据卷./superset_data用于持久化 Superset 数据防止容器重启或删除后数据丢失。四、数据库配置MySQL Doris驱动安装完成并登录 Superset 后需配置数据库连接才能实现数据可视化分析。以下分别介绍 MySQL 和 Apache Doris 的配置方法操作步骤一致仅连接字符串不同4.1 配置步骤登录 Superset 控制台点击右上角Settings→Database Connectors点击「添加 Database」在弹出的「Connect a database」弹窗中选择对应数据库类型MySQL 或 Apache Doris在连接信息中填写 SQLAlchemy URI 连接字符串点击「Test Connection」验证连接无误后点击「Connect」完成配置。4.2 连接字符串格式# 使用Doris驱动连接Doris数据库适配内表 pydoris://root:host.docker.internal:9030/internal.gw_uba # 使用MySQL驱动连接MySQL数据库 mysqlpymysql://root:host.docker.internal:9030/gw_uba参数说明host.docker.internalDocker 容器访问宿主机的默认地址若数据库部署在其他服务器替换为对应 IP 地址9030默认端口Doris 查询端口、MySQL 端口若端口已修改需对应调整root数据库用户名根据实际数据库配置修改internalDoris 的 Catalog 名称内表使用 internal查询外表或数据湖时需替换为对应 Catalog 名称gw_uba数据库名称替换为实际需要连接的数据库名。五、注意事项与使用技巧权限问题所有操作需以 root 用户执行否则会出现 apt 安装失败、虚拟环境权限不足等问题镜像源问题若阿里云镜像源无法访问可替换为其他国内镜像源如清华源确保依赖和包能正常下载驱动安装验证若安装后无法识别驱动可进入容器虚拟环境source /app/.venv/bin/activate执行python -c import pymysql; print(安装成功)” 验证驱动是否被正确识别生产环境配置生产环境中需修改SUPERSET_SECRET_KEY为复杂密钥修改管理员默认密码避免安全风险同时建议使用 VPC 私有连接避免公网访问数据库带来的安全隐患版本兼容推荐使用 Apache Superset 3.1 及以上版本、Apache Doris 2.0.4 及以上版本确保 Doris 连接功能正常常见报错若出现「无法加载数据库驱动程序」报错需重新安装驱动确保驱动安装到 Superset 虚拟环境中而非系统环境。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2503663.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!