1. 为什么选择Docker-Compose来部署Superset与OceanBase?
如果你和我一样,经常需要在不同的项目里快速搭建数据可视化平台,那你肯定也烦透了重复安装、配置各种依赖和环境变量的过程。我之前试过手动部署Superset,光是处理Python版本冲突、依赖包安装就折腾了大半天,更别提还要配置数据库连接了。后来接触到Docker-Compose,我才发现原来部署可以这么简单——一个配置文件,几条命令,几分钟就能跑起来一个完整的数据可视化环境。
今天我要分享的,就是如何用Docker-Compose这把“瑞士军刀”,把强大的开源BI工具Apache Superset和国产分布式数据库OceanBase“撮合”到一起,搭建一个企业级的数据可视化平台。这个组合特别适合那些需要快速验证想法、搭建临时分析环境,或者为中小团队提供数据洞察服务的场景。你不用再操心Superset的Python环境,也不用担心OceanBase复杂的集群配置,所有东西都封装在容器里,干净又卫生。
简单来说,Docker-Compose能帮你把Superset(负责图表展示)、Redis(缓存)、PostgreSQL(Superset的元数据库)等多个服务,通过一个docker-compose.yml文件编排起来,一键启动。而OceanBase,你可以选择使用其云服务(OB Cloud),或者用Docker部署一个单机版用于测试。我们今天的重点,就是用最省事的方式,让Superset能连接到OceanBase,并把里面的数据变成直观的图表。
我实测下来,从零开始到第一个图表出来,顺利的话20分钟内就能搞定。下面,我就带你一步步走通这个流程,过程中我会把容易踩坑的地方都标出来。
2. 部署前准备:理清思路与备好工具
在动手敲命令之前,我们先花两分钟把整个部署的架构和需要的东西理清楚。这样操作的时候心里有底,不至于跟着教程跑了一半发现缺东少西。
核心架构是这样的:
- Superset服务栈:通过Docker-Compose启动,至少包含Superset应用本身、一个PostgreSQL(存放Superset的仪表板、用户等元数据)、一个Redis(用于缓存和异步任务队列)。这是Superset官方推荐的“标准套餐”。
- OceanBase数据库:作为我们的数据源。为了极致简化,我们强烈建议使用OceanBase Cloud(OB Cloud) 的云数据库服务。为什么?因为自己用Docker部署OceanBase虽然可行,但相对重量级,更适合学习其架构。对于快速可视化这个目标,直接用现成的、免运维的云服务是最佳选择。当然,如果你有本地测试环境,也可以。
- 连接桥梁:Superset通过
sqlalchemy-oceanbase这个Python驱动来连接OceanBase。我们需要确保这个驱动被安装到Superset的Docker容器里。
你需要准备好的“食材”:
- 一台Linux服务器:Ubuntu 22.04或CentOS 7+都行。1核2G内存是底线,如果要处理的数据量大,建议2核4G以上。云主机或者本地虚拟机都可以。
- Docker与Docker-Compose:这是我们的“灶台”。确保已经安装好。如果还没装,用下面命令快速搞定(以Ubuntu为例):
# 安装Docker curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh # 将当前用户加入docker组,避免每次都要sudo sudo usermod -aG docker $USER # 安装Docker-Compose插件(新方式,比独立二进制文件更推荐) sudo apt-get update sudo apt-get install docker-compose-plugin # 验证安装 docker --version docker compose version - 一个OceanBase Cloud实例:去OceanBase官网开通一个按量付费的实例,最便宜的规格就行。记住关键几步:创建实例时选择MySQL兼容模式;创建后,在“白名单设置”里,把你Superset服务器的公网IP地址加进去,否则连不上;最后在“数据库连接”里获取到连接串,包含主机、端口、数据库名、用户名和密码。
- 基本的命令行操作能力:会
cd、ls、vim(或nano)就足够了。
把上面这些准备好,我们的“厨房”就算布置妥当了。接下来,开始烹饪。
3. 实战第一步:用Docker-Compose拉起Superset
Superset的社区非常活跃,官方已经提供了非常完善的Docker-Compose部署脚本,我们直接“拿来主义”。
# 1. 拉取Superset官方仓库的Docker-Compose配置
git clone https://github.com/apache/superset.git
cd superset
# 2. 这里有个关键选择:用哪个compose文件?
# 官方提供了好几个,我们选择 `docker-compose-non-dev.yml`,这是为非开发环境准备的,包含了PostgreSQL和Redis。
# 先拉取所需的镜像,这步可能会花点时间,取决于你的网速。
docker compose -f docker-

2588

被折叠的 条评论
为什么被折叠?



