Apache SeaTunnel 是一款易用、高性能的分布式数据集成平台,支持海量数据实时同步,每日可稳定高效同步数百亿条数据,已在近百家企业的生产环境中应用。
下载镜像
shelldocker pull apache/seatunnel:<version_tag> # 替换<version_tag>为具体版本号
本地模式提交作业
以下为本地模式运行作业的常用命令及示例:
运行默认配置作业(Fake Source 到 Console Sink)
shelldocker run --rm -it apache/seatunnel:<version_tag> ./bin/seatunnel.sh -m local -c config/v2.batch.config.template
运行自定义配置文件
需将本地配置文件目录挂载到容器内,示例如下:
shell# 假设本地配置文件路径为 /tmp/job/fake_to_console.conf docker run --rm -it -v /tmp/job/:/config apache/seatunnel:<version_tag> ./bin/seatunnel.sh -m local -c /config/fake_to_console.conf
设置JVM参数运行
通过 -DJvmOption 指定JVM参数(如内存配置):
shelldocker run --rm -it -v /tmp/job/:/config apache/seatunnel:<version_tag> ./bin/seatunnel.sh -DJvmOption="-Xms4G -Xmx4G" -m local -c /config/fake_to_console.conf
集群模式仅支持 Zeta 引擎,部署方式分为两种:直接使用Docker或通过Docker Compose。
步骤1:创建网络
shelldocker network create seatunnel-network
步骤2:启动主节点(Master)
shelldocker run -d --name seatunnel_master \ --network seatunnel-network \ --rm \ -p 5801:5801 \ # 暴露5801端口 apache/seatunnel \ ./bin/seatunnel-cluster.sh -r master
步骤3:获取主节点IP
执行以下命令查看主节点容器IP(需替换为实际容器名):
shelldocker inspect seatunnel_master
在输出中找到 IPAddress 字段,记录主节点IP(如 172.18.0.2)。
步骤4:启动工作节点(Worker)
需将主节点IP替换为实际值,示例启动2个工作节点:
shell# 启动worker1 docker run -d --name seatunnel_worker_1 \ --network seatunnel-network \ --rm \ -e ST_DOCKER_MEMBER_LIST=172.18.0.2:5801 \ # 替换为主节点IP:端口 apache/seatunnel \ ./bin/seatunnel-cluster.sh -r worker # 启动worker2(同上,仅容器名不同) docker run -d --name seatunnel_worker_2 \ --network seatunnel-network \ --rm \ -e ST_DOCKER_MEMBER_LIST=172.18.0.2:5801 \ apache/seatunnel \ ./bin/seatunnel-cluster.sh -r worker
扩展集群
如需增加工作节点,重复步骤4,修改容器名(如 seatunnel_worker_3)即可。
1. 基础集群配置
创建 docker-compose.yaml 文件,内容如下(固定IP配置,避免节点通信问题):
yamlversion: '3.8' services: master: image: apache/seatunnel container_name: seatunnel_master environment: - ST_DOCKER_MEMBER_LIST=172.16.0.2,172.16.0.3,172.16.0.4 # 集群节点IP列表 entrypoint: /opt/seatunnel/bin/seatunnel-cluster.sh -r master ports: - "5801:5801" networks: seatunnel_network: ipv4_address: 172.16.0.2 # 主节点固定IP worker1: image: apache/seatunnel container_name: seatunnel_worker_1 environment: - ST_DOCKER_MEMBER_LIST=172.16.0.2,172.16.0.3,172.16.0.4 entrypoint: /opt/seatunnel/bin/seatunnel-cluster.sh -r worker depends_on: [master] networks: seatunnel_network: ipv4_address: 172.16.0.3 # worker1固定IP worker2: image: apache/seatunnel container_name: seatunnel_worker_2 environment: - ST_DOCKER_MEMBER_LIST=172.16.0.2,172.16.0.3,172.16.0.4 entrypoint: /opt/seatunnel/bin/seatunnel-cluster.sh -r worker depends_on: [master] networks: seatunnel_network: ipv4_address: 172.16.0.4 # worker2固定IP networks: seatunnel_network: driver: bridge ipam: config: - subnet: 172.16.0.0/24 # 子网配置
2. 启动集群
shelldocker-compose up -d
3. 验证集群状态
shelldocker logs -f seatunnel_master # 主节点日志 docker logs -f seatunnel_worker_1 # worker1日志
[***]
4. 扩展集群(新增工作节点)
修改 docker-compose.yaml,添加 worker3 配置(示例):
yamlworker3: image: apache/seatunnel container_name: seatunnel_worker_3 environment: - ST_DOCKER_MEMBER_LIST=172.16.0.2,172.16.0.3,172.16.0.4,172.16.0.5 # 添加新IP entrypoint: /opt/seatunnel/bin/seatunnel-cluster.sh -r worker depends_on: [master] networks: seatunnel_network: ipv4_address: 172.16.0.5 # 未使用的固定IP
执行 docker-compose up -d 启动新增节点(原有节点不会重启)。
提交作业
shelldocker run --name seatunnel_client \ --network seatunnel-network \ -e ST_DOCKER_MEMBER_LIST=172.18.0.2:5801 \ # 替换为主节点IP:端口 --rm \ apache/seatunnel \ ./bin/seatunnel.sh -c config/v2.batch.config.template # 使用默认配置文件
列出作业
shelldocker run --name seatunnel_client \ --network seatunnel-network \ -e ST_DOCKER_MEMBER_LIST=172.18.0.2:5801 \ --rm \ apache/seatunnel \ ./bin/seatunnel.sh -l
更多命令参考 用户命令文档。
作业提交、状态查询等操作可通过REST API实现,详情参考 作业提交API文档。
以下是 apache/seatunnel 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务