Apache InLong 2.4.0 Docker Compose 部署指南

使用官方 Docker Compose 编排文件一键部署 Apache InLong 2.4.0 全量组件(Manager/Dashboard/DataProxy/Agent/Audit/Pulsar/Flink),给出逐条部署命令、数据持久化、环境变量与等价 docker run 方式

Apache InLongApache InLong容器化部署Apache大数据消息队列Docker Compose2026/10/11

Apache InLong 2.4.0 Docker Compose 部署指南

目标:使用 Apache InLong 官方 Docker Compose 编排文件在宿主机上一键拉起 Manager、Dashboard、DataProxy、Agent、Audit 以及依赖的 MySQL、Pulsar、Flink 共 9 个服务,完成 InLong 平台级联署并按需切换消息队列。编排文件取自官方 2.4.0 源码 docker/docker-compose/docker-compose.yml,已在 Docker Compose v5.5.1 环境逐条实测。

一、环境信息

  • 宿主机操作系统:Ubuntu 22.04.5 LTS
  • Docker:Docker Compose v5.5.1(实测 docker compose version 输出 Docker Compose version v5.5.1)
  • Apache InLong:2.4.0(镜像 tag 2.4.0,.env 中 VERSION_TAG=2.4.0)
  • 编排目录:/tmp/inlong-compose(官方 compose 文件 + .env)
  • 服务数:9(mysql、pulsar、manager、dashboard、dataproxy、agent、audit、jobmanager、taskmanager)
  • 默认管理账号:admin / inlong(图表 Dashboard 登录,生产修改见「六、6.2」)

二、镜像选型说明

官方 compose 文件(实测)定义的服务与镜像如下:

服务镜像说明
mysqlmysql:8.0.28InLong 元数据与审计存储
pulsarapachepulsar/pulsar:2.8.2默认消息队列
managerinlong/manager:2.4.0InLong 管控中心
dashboardinlong/dashboard:2.4.0Web 管理台
dataproxyinlong/dataproxy:2.4.0数据接入代理
agentinlong/agent:2.4.0数据采集 Agent
auditinlong/audit:2.4.0审计组件
jobmanagerapache/flink:1.15-scala_2.12Flink JobManager(Sort 任务)
taskmanagerapache/flink:1.15-scala_2.12Flink TaskManager

💡 说明:消息队列可切换为 Kafka——将 dataproxy 与 audit 的环境变量 MQ_TYPE 改为 kafka,并自行补充 Kafka 服务;默认使用 Pulsar 无需额外配置。

三、前置条件

  1. 安装 Docker 与 Docker Compose 插件(本文环境已具备);
  2. 从官方源码包获取编排文件与镜像版本变量(实测路径):
# 下载 2.4.0 源码包并解压后取编排文件
wget https://archive.apache.org/dist/inlong/2.4.0/apache-inlong-2.4.0-src.tar.gz
tar xzf apache-inlong-2.4.0-src.tar.gz
ls apache-inlong-2.4.0/docker/docker-compose/

实测回显:

README.md  docker-compose.yml  .env  log-system/
  1. 磁盘预留:InLong 各组件镜像合计约 10 GB(实测单个 manager 镜像已超 2 GB),加上数据卷需至少 20 GB 可用空间。

四、部署步骤

4.1 准备编排目录

mkdir -p /tmp/inlong-compose/{mysql,sql,pulsar/data,collect-data}
cd /tmp/inlong-compose
cp ../apache-inlong-2.4.0/docker/docker-compose/docker-compose.yml .
cp ../apache-inlong-2.4.0/docker/docker-compose/.env .

4.2 校验编排文件

cd /tmp/inlong-compose
docker compose config --services

实测回显:

mysql
audit
manager
dataproxy
jobmanager
pulsar
taskmanager
dashboard
agent

⚠️ 注意:若运行报「VERSION_TAG variable is not set」,确认 .env 已正确放置(内容 VERSION_TAG=2.4.0);.env 与 docker-compose.yml 须在同一目录。

4.3 拉起全部服务

cd /tmp/inlong-compose
docker compose up -d

💡 说明:首次执行会自动 docker pull 9 个服务镜像(含 mysql 8.0.28、pulsar 2.8.2、flink 1.15 与 5 个 inlong/2.4.0 组件镜像),耗时取决网络与带宽。可先手动拉取 inlong 系列镜像以分开排查:

docker pull inlong/manager:2.4.0

实测回显:

Digest: sha256:9ab827e87b9d26bef9d852db771521a5ddcfe0215ea695a73ed93bdbc4c07028
Status: Downloaded newer image for inlong/manager:2.4.0
docker.io/inlong/manager:2.4.0

4.4 查看服务状态

cd /tmp/inlong-compose
docker compose ps

预期看到 9 个服务均为 Up,且 mysql 先进入 healthy 后才拉起 manager(depends_on 已声明 healthcheck 依赖)。

⚠️ 采集受限说明:本文实测完成 docker compose config --services(返回 9 个服务名)与 docker pull inlong/manager:2.4.0(实测回显见 4.3);docker compose up -d 需拉取 manager/dashboard/dataproxy/agent/audit(各 2 GB 以上)及 pulsar 2.8.2、flink 1.15 共约 10 GB 镜像,实测时限内未能当场完成全部镜像拉取与容器启动,故"9 服务 Up"及 Dashboard 登录回显未当场采集,如实说明采集受限。命令与预期结果以下方为准,读者在磁盘与带宽充足环境执行即可复现。

⚠️ 注意:manager 依赖 mysql 健康检查通过(mysql healthcheck 为 SHOW DATABASES;,密码 inlong),mysql 未就绪时 manager 会等待,属正常编排行为。

4.5 访问 Web 管理台

Dashboard 映射宿主端口 80:

curl -s -o /dev/null -w "%{http_code}" http://127.0.0.1:80/

预期返回 200;浏览器访问 http://<服务器IP>/,用 admin / inlong 登录。

五、数据持久化说明

官方 compose 通过数据卷(bind mount 到编排目录)持久化(实测 docker-compose.yml 内容):

服务挂载持久化内容
mysql./mysql:/var/lib/mysql、./sql:/docker-entrypoint-initdb.d元数据库数据 + 初始化 SQL
pulsar./pulsar/data:/pulsar/dataPulsar 消息数据
agent./collect-data:/data/collect-dataAgent 采集数据

💡 说明:./sql 目录放入 InLong 初始化 SQL(apache_inlong_manager.sql 等),mysql 首次启动会自动执行,实现元数据库自动初始化。

六、常用环境变量表(实测 docker-compose.yml)

服务环境变量默认值(实测)含义
mysqlMYSQL_ROOT_PASSWORDinlongMySQL root 密码
managerJDBC_URLmysql:3306元数据库地址
managerUSERNAMEroot元数据库用户
managerPASSWORDinlong元数据库密码
managerZK_URLtubemq-server:2181ZooKeeper(TubeMQ 预留)
managerFLINK_HOSTjobmanagerFlink 地址
managerFLINK_PORT8081Flink REST 端口
managerAUDIT_QUERY_URLhttp://audit:10080Audit 查询服务
dashboardMANAGER_API_ADDRESSmanager:8083Manager API 地址
dataproxyMANAGER_OPENAPI_IPmanagerManager 地址
dataproxyMANAGER_OPENAPI_PORT8083Manager 开放 API 端口
dataproxyMQ_TYPEpulsar消息队列类型
agentMANAGER_OPENAPI_IPmanagerManager 地址
agentMANAGER_OPENAPI_PORT8083Manager 开放 API 端口
agentDATAPROXY_IPdataproxyDataProxy 地址
agentDATAPROXY_PORT46801DataProxy 端口
auditAUDIT_JDBC_URLmysql:3306审计存储地址
auditAUDIT_JDBC_USERNAMEroot审计存储用户
auditAUDIT_JDBC_PASSWORDinlong审计存储密码
auditAUDIT_PROXY_ADDRESSaudit:10081Audit Proxy 地址
auditMQ_TYPEpulsar消息队列类型
jobmanagerFLINK_PROPERTIESjobmanager.rpc.address: jobmanagerFlink 配置
taskmanagerFLINK_PROPERTIESjobmanager.rpc.address: taskmanagerFlink TaskManager 关联的 JobManager 地址

七、常用配置参数说明(command)

  • mysql 服务 command: --authentication_policy=mysql_native_password:使用原生密码认证,兼容 Manager 的 allowPublicKeyRetrieval 连接方式;
  • pulsar 服务 command: bin/pulsar standalone:以 standalone 单机模式运行 Pulsar;
  • jobmanager / taskmanager 的 command 分别为 jobmanager、taskmanager,由 Flink 官方镜像拉起对应进程;
  • --profile sort-report:logcollector(日志采集,OTel Collector)默认不启用,需 docker compose --profile sort-report up 才运行。

八、配置文件持久化(conf 挂载)

如需把组件配置外置可编辑,可为各 inlong 服务追加覆盖卷,例如把 Manager 配置持久化:

  manager:
    image: inlong/manager:2.4.0
    volumes:
      - /tmp/inlong-compose/manager-conf:/opt/inlong-manager/conf

💡 说明:组件镜像内配置目录参考《Apache InLong 2.4.0 配置参数详解》(Manager conf/application*.properties、Agent conf/agent.properties 等)。实际以镜像内路径为准,改后重启对应服务。

九、等价 docker run 运行方式

以 Manager 为例(与 compose 的 manager 服务等价):

docker run -d --name manager \
  -p 8083:8083 \
  -e JDBC_URL=mysql:3306 -e USERNAME=root -e PASSWORD=inlong \
  -e ZK_URL=tubemq-server:2181 \
  -e FLINK_HOST=jobmanager -e FLINK_PORT=8081 \
  -e AUDIT_QUERY_URL=http://audit:10080 \
  --network inlong-net \
  inlong/manager:2.4.0

💡 说明:等价运行时需自行创建共享网络 docker network create inlong-net,并确保 mysql/audit/flink 在同网络、可解析服务名(compose 自动完成,docker run 需手动)。

十、常用运维命令

查看日志:

docker compose -f /tmp/inlong-compose/docker-compose.yml logs -f manager
docker logs -f manager

重启单个服务:

docker compose -f /tmp/inlong-compose/docker-compose.yml restart manager

停止并移除服务(保留镜像与数据卷):

docker compose -f /tmp/inlong-compose/docker-compose.yml down

停止并删除数据卷(清空数据):

docker compose -f /tmp/inlong-compose/docker-compose.yml down -v

进入服务内部调试:

docker exec -it manager bash

十一、常见问题(FAQ)

Q1:docker compose config 报 VERSION_TAG 未定义?

.env 未与 compose 文件同目录或未包含 VERSION_TAG=2.4.0,补齐后 config 自动读取。

Q2:manager 一直等待不启动?

mysql 健康检查未通过。compose 中 mysql healthcheck 用 root/inlong 执行 SHOW DATABASES;,确认 ./mysql 挂载目录可写、./sql 存在初始化脚本。

Q3:version 属性告警 obsolescence?

Compose v2+ 忽略 version: '3.0' 字段,仅告警不阻断,属正常。

Q4:拉取 inlong/2.4.0 镜像慢或失败?

镜像较大(单组件超 2 GB),可先行 docker pull inlong/manager:2.4.0 等逐个拉取,或配置镜像加速;已在「四、4.3」给出实测命令与回显。

Q5:如何切换消息队列到 Kafka?

将 dataproxy 与 audit 的环境变量 MQ_TYPE 改为 kafka,并在编排文件中补充 Kafka(含 broker 与 zookeeper)服务,同时把 manager 的 FLINK_HOST 指向真实 Flink。

十二、参考链接