news 2026/9/29 6:12:22

SeaTunnel Engine (Zeta) 部署模式完全指南:本地模式、混合集群模式与分离集群模式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SeaTunnel Engine (Zeta) 部署模式完全指南:本地模式、混合集群模式与分离集群模式
  • 数据工程
  • 大数据
  • 批处理
  • 流处理

【免费下载链接】seatunnel

SeaTunnel is a next-generation super high-performance, distributed, massive data integration tool.

项目地址:https://gitcode.com/gh_mirrors/sea/seatunnel
点击查看免费下载

SeaTunnel Engine(Zeta)是 Apache SeaTunnel 自带的分布式数据同步引擎,支持三种部署形态:仅用于测试的本地模式(Local Mode)、Master 与 Worker 同进程混布的混合集群模式(Hybrid Cluster Mode),以及 Master 与 Worker 进程分离的分离集群模式(Separated Cluster Mode,实验特性)。本文以官方部署文档 docs/en/seatunnel-engine/deployment.md 为骨架,完整讲解三种模式的适用场景、部署步骤、核心配置参数(Imap 备份数、Slot、Checkpoint、历史任务过期、类加载器缓存等)与网络/持久化配置,并给出生产环境下的选型建议,帮助你根据任务规模与稳定性要求选择并落地合适的 SeaTunnel Engine 集群。

一、三种部署模式总览与选型

SeaTunnel Engine 的所有部署方式都围绕两个核心角色展开:

  • Master 服务:负责作业调度、REST API、任务提交、集群管理,并保存任务状态(Imap 数据)。
  • Worker 服务:负责任务的执行(跑 Source / Transform / Sink 管道)。

三种模式的区别在于这两个角色如何组织:

模式Master 与 Worker 关系任务执行方式Imap 数据存放适用场景
本地模式(Local)不启动独立集群每个任务启动独立进程,任务结束进程即退出无集群,不涉及分布仅用于功能测试、本地调试
混合集群模式(Hybrid)同一进程中混合所有节点都可跑任务,都可参与 Master 选举分布存储在全部节点上中小规模集群的快速搭建
分离集群模式(Separated)各自独立进程Worker 只执行任务,不参与选举只存储在 Master 节点推荐的生产环境用法(实验特性)

官方在 deployment.md 中给出的使用建议是:优先使用分离集群模式。原因在于混合集群模式下,Master 节点需要同步运行任务,当任务规模较大时会挤占调度资源、影响 Master 稳定性;一旦 Master 崩溃或心跳超时触发主节点切换,会导致所有运行中的任务做一次容错恢复,进一步加重集群负载。而分离模式下 Master 负载很低,有更多资源用于作业调度、任务容错指标监控和 REST API 服务,Worker 即使高负载或崩溃,也不会引起 Imap 数据的重新分布。

二、本地模式(Local Mode):快速跑通任务

2.1 适用场景与限制

本地模式仅用于测试:每个任务会启动一个独立进程,任务完成后进程自动退出。该模式存在以下明确限制(见 local-mode-deployment.md):

  1. 不支持暂停与恢复任务;
  2. 不支持查看任务列表;
  3. 无法通过命令取消作业,只能通过杀掉进程终止;
  4. 不支持 REST API。

因此生产环境请使用分离集群模式部署,而不是本地模式。

2.2 部署与提交作业

本地模式不需要部署 SeaTunnel Engine 集群,只需将下载并制作好的安装包拷贝到目标服务器,然后直接提交作业即可。引擎会在提交作业的进程内启动 SeaTunnel Engine(Zeta)服务来运行任务,任务完成后进程退出。

若需调整任务运行时的 JVM 参数,可修改$SEATUNNEL_HOME/config/jvm_client_options文件(仓库中的 config/jvm_client_options 即对应模板)。

提交作业命令:

$SEATUNNEL_HOME/bin/seatunnel.sh --config $SEATUNNEL_HOME/config/v2.batch.config.template -m local

其中-m local(等价于--master local/--deploy-mode local)指定以本地模式运行;-m支持local与cluster两个取值,默认是cluster(参考 user-command.md 中的命令行帮助)。

2.3 任务运行与终止

本地模式提交的作业运行在提交进程内部,任务完成后进程自动退出;如需中止作业,直接退出提交进程即可。作业运行日志输出到提交进程的标准输出(stdout)。除此之外,该模式不提供任何其它运维操作。

三、混合集群模式(Hybrid Cluster Mode)部署

混合集群模式下,Master 服务与 Worker 服务混合在同一个进程中运行,所有节点都可以执行任务并参与 Master 选举,Master 节点本身也同时运行同步任务;Imap(保存任务状态信息、为任务容错提供支持)数据分布存储在全部节点上。

3.1 第 1 步:下载并制作安装包

先下载安装包并安装连接器插件,详见 download-seatunnel.md:

  • 环境要求:安装 Java 8 或 11(更高版本理论上也可工作)并配置JAVA_HOME;
  • 下载seatunnel-<version>-bin.tar.gz并解压;
  • 执行sh bin/install-plugin.sh安装连接器插件(也可指定版本,如sh bin/install-plugin.sh 2.3.7);
  • 可通过config/plugin_config只安装所需插件,例如只需connector-console时配置:
--seatunnel-connectors-- connector-console --end--

3.2 第 2 步:配置 SEATUNNEL_HOME

通过新增/etc/profile.d/seatunnel.sh文件配置SEATUNNEL_HOME:

export SEATUNNEL_HOME=${seatunnel install path} export PATH=$PATH:$SEATUNNEL_HOME/bin

3.3 第 3 步:配置引擎 JVM 参数

SeaTunnel Engine 支持两种方式设置 JVM 参数:

  1. 在$SEATUNNEL_HOME/config/jvm_options文件中添加 JVM 选项(仓库模板见 config/jvm_options);
  2. 启动引擎时追加参数,例如:
seatunnel-cluster.sh -DJvmOption="-Xms2G -Xmx2G"

3.4 第 4 步:配置 seatunnel.yaml 引擎参数

引擎的众多功能都在seatunnel.yaml文件中配置,仓库默认模板见 config/seatunnel.yaml。

4.1 Imap 数据备份数(backup-count)

SeaTunnel Engine 基于 Hazelcast IMDG 实现集群管理,集群状态数据(作业运行状态、资源状态)存储在 Hazelcast IMap 中,数据会被分区并分布存储到集群各节点,因此无需借助 Zookeeper 等外部服务即可实现集群 HA。

backup-count定义同步备份的数量:设为 1 表示分区备份放置在另一个成员上,设为 2 则放置在另外两个成员上。官方推荐取值公式为min(1, max(5, N/2)),其中N是集群节点数。

seatunnel: engine: backup-count: 1 # Other configurations
4.2 Slot 配置

Slot 数量决定集群节点能并行运行的任务组数量。单个任务所需 Slot 数公式为N = 2 + P(P为任务配置的并行度)。默认情况下 Slot 数量是动态的(即不限制数量),官方建议将 Slot 数设置为节点 CPU 核数的两倍。

动态 Slot 数(默认)配置:

seatunnel: engine: slot-service: dynamic-slot: true

静态 Slot 数配置:

seatunnel: engine: slot-service: dynamic-slot: false slot-num: 20
4.3 Checkpoint 管理器

与 Flink 类似,SeaTunnel Engine 支持 Chandy–Lamport 算法,从而可以实现无数据丢失、无重复的数据同步。

  • interval:两次 checkpoint 之间的间隔(毫秒)。若作业配置文件env中配置了checkpoint.interval,则以作业配置文件为准;
  • timeout:checkpoint 超时时间。若在超时时间内未完成 checkpoint,将触发 checkpoint 失败并使作业失败。若作业配置文件env中配置了checkpoint.timeout,则以作业配置文件为准。

示例(同时给出引擎级完整配置):

seatunnel: engine: backup-count: 1 print-execution-info-interval: 10 slot-service: dynamic-slot: true checkpoint: interval: 300000 timeout: 10000

checkpoint storage(checkpoint 存储):checkpoint 是容错恢复机制,周期触发,每次 checkpoint 时每个 Task 需向 checkpoint 线程上报自身状态信息(如读取 Kafka 时读到了哪个 offset),由 checkpoint 线程写入分布式存储(或共享存储)。任务失败自动容错恢复,或使用seatunnel.sh -r恢复之前暂停的任务时,会从 checkpoint 存储中加载对应作业的状态信息并据此恢复。

注意:集群节点数大于 1 时,checkpoint 存储必须是分布式存储或共享存储,以保证任意节点故障后状态信息仍可在其它节点加载。详见 checkpoint-storage.md。

仓库默认模板 config/seatunnel.yaml 中的 checkpoint 配置为interval: 10000、timeout: 60000,存储类型为hdfs且fs.defaultFS: file:///tmp/(仅本地测试用)。

4.4 历史作业过期配置(history-job-expire-minutes)

每个已完成作业的信息(状态、计数器、错误日志)存放在 IMap 中,作业数量增多会导致内存增长甚至溢出。可通过history-job-expire-minutes调整过期时间,单位为分钟,默认值 1440(即一天):

seatunnel: engine: history-job-expire-minutes: 1440
4.5 类加载器缓存模式(classloader-cache-mode)

该配置主要解决不断创建并尝试销毁类加载器导致的资源泄漏问题;若遇到 metaspace 溢出相关异常,可尝试开启。开启后,作业完成时 SeaTunnel 不再尝试释放对应类加载器,供后续作业复用,从而降低类加载器创建频率;在运行作业使用的 Source/Sink 连接器类型不多时效果更明显。默认值为 false:

seatunnel: engine: classloader-cache-mode: true

3.5 第 5 步:配置网络服务(hazelcast.yaml)

所有 SeaTunnel Engine 网络相关配置都在hazelcast.yaml中,仓库默认模板见 config/hazelcast.yaml。

5.1 cluster-name(集群名)

引擎节点用cluster-name判断另一节点是否与自己在同一集群:若两个节点集群名不同,引擎将拒绝服务请求。

5.2 network(网络与成员发现)

基于 Hazelcast,SeaTunnel Engine 集群由运行引擎服务器的集群成员组成的网络构成,成员自动加入形成集群。无论使用何种发现机制,集群形成后成员间通信始终走 TCP/IP。

引擎支持以下发现机制:

  • TCP(推荐用于独立集群):可配置为完整 TCP/IP 集群,详细配置参见 tcp.md。配置要点是tcp-ip.enabled: true并在member-list中列出全部或部分成员主机名/IP(至少一个在列成员在加入时处于活跃状态),支持 IP 段写法如192.168.1.0-7,成员未指定端口时 Hazelcast 会自动尝试 5701、5702 等端口。

示例hazelcast.yaml:

hazelcast: cluster-name: seatunnel network: join: tcp-ip: enabled: true member-list: - hostname1 port: auto-increment: false port: 5801 properties: hazelcast.logging.type: log4j2
  • 其它发现方式:Hazelcast 还提供多种服务发现方法,可参考 Hazelcast 网络配置文档。
5.3 IMap 持久化配置

SeaTunnel 使用 IMap(跨节点、跨进程读写数据的分布式 Map)保存各任务状态,以便节点故障后从其它节点获取任务状态并恢复任务,实现任务容错。

默认情况下 IMap 信息仅存内存,可通过 replica 数(见 4.1 backup-count)提升冗余:若副本数为 2,每条数据同时存于两个节点,节点故障时数据会自动补充到设定副本数。但所有节点都停止时,IMap 数据会丢失;集群重启后,之前运行的任务会被标记为失败,需用seatunnel.sh -r手动恢复。

解决办法是将 IMap 数据持久化到 HDFS、OSS 等外部存储,这样即使所有节点停止也不会丢数据,集群重启后之前运行的任务将自动恢复。以下为 MapStore 持久化配置(Hazelcast MapStore 机制),关键参数:

  • type:IMap 持久化类型,目前仅支持hdfs;
  • namespace:用于区分不同业务数据的存储位置,如 OSS bucket 名;
  • clusterName:主要用于集群隔离,区分不同集群(如 cluster1、cluster2),也可用于区分不同业务数据;
  • fs.defaultFS:使用 hdfs api 读写文件,因此使用该存储必须提供 hdfs 配置。

HDFS 配置示例:

map: engine*: map-store: enabled: true initial-mode: EAGER factory-class-name: org.apache.seatunnel.engine.server.persistence.FileMapStoreFactory properties: type: hdfs namespace: /tmp/seatunnel/imap clusterName: seatunnel-cluster storage.type: hdfs fs.defaultFS: hdfs://localhost:9000

无 HDFS 且集群只有单节点时,可改用本地文件(fs.defaultFS: file:///):

map: engine*: map-store: enabled: true initial-mode: EAGER factory-class-name: org.apache.seatunnel.engine.server.persistence.FileMapStoreFactory properties: type: hdfs namespace: /tmp/seatunnel/imap clusterName: seatunnel-cluster storage.type: hdfs fs.defaultFS: file:///

OSS 配置示例:

map: engine*: map-store: enabled: true initial-mode: EAGER factory-class-name: org.apache.seatunnel.engine.server.persistence.FileMapStoreFactory properties: type: hdfs namespace: /tmp/seatunnel/imap clusterName: seatunnel-cluster storage.type: oss block.size: block size(bytes) oss.bucket: oss://bucket name/ fs.oss.accessKeyId: OSS access key id fs.oss.accessKeySecret: OSS access key secret fs.oss.endpoint: OSS endpoint fs.oss.credentials.provider: org.apache.hadoop.fs.aliyun.oss.AliyunCredentialsProvider

使用 OSS 时,需确保以下 jar 位于 lib 目录:aliyun-sdk-oss-3.13.2.jar、hadoop-aliyun-3.3.6.jar、jdom2-2.0.6.jar、netty-buffer-4.1.89.Final.jar、netty-common-4.1.89.Final.jar、seatunnel-hadoop3-3.1.4-uber.jar。

3.6 第 6 步:配置引擎客户端(hazelcast-client.yaml)

客户端的所有配置在hazelcast-client.yaml中,仓库默认模板见 config/hazelcast-client.yaml。

  • cluster-name:客户端必须与引擎集群名一致,否则引擎拒绝客户端请求;
  • network.cluster-members:需要在此添加所有 SeaTunnel Engine 服务端节点地址。
hazelcast-client: cluster-name: seatunnel properties: hazelcast.logging.type: log4j2 network: cluster-members: - hostname1:5801

3.7 第 7 步:启动引擎服务端节点

可通过守护进程参数-d启动:

mkdir -p $SEATUNNEL_HOME/logs ./bin/seatunnel-cluster.sh -d

日志写入$SEATUNNEL_HOME/logs/seatunnel-engine-server.log。

3.8 第 8 步:安装客户端

只需将引擎节点上的$SEATUNNEL_HOME目录拷贝到客户端节点,并按服务端相同方式配置SEATUNNEL_HOME即可。

3.9 第 9 步:提交与管理作业

集群部署完成后,通过 user-command.md 中的命令完成作业的提交与管理,例如:

sh bin/seatunnel.sh --config $SEATUNNEL_HOME/config/v2.batch.config.template --async sh bin/seatunnel.sh -l # 查看作业列表 sh bin/seatunnel.sh -j <jobId> # 查看作业状态

四、分离集群模式(Separated Cluster Mode)部署

分离集群模式下,Master 服务与 Worker 服务分离,各自是独立进程:

  • Master 节点:只负责作业调度、RESTful API、任务提交等,Imap 数据只存储在 Master 节点;
  • Worker 节点:只负责任务执行,不参与 Master 选举,也不存储 Imap 数据。

所有 Master 节点中同一时刻只有一个处于 Active 工作状态,其余处于 standby 状态;当前 Master 故障或心跳超时时,会从其它 Master 中选举出新的 Active 节点。该模式是官方最推荐的用法:Master 负载很低、稳定性更高;Worker 不存 Imap 数据,即使高负载或崩溃也不会导致 Imap 数据重新分布。

4.1 第 1~2 步:下载安装包与配置 SEATUNNEL_HOME

与混合模式相同:先按 download-seatunnel.md 下载安装包并安装插件,再通过/etc/profile.d/seatunnel.sh配置SEATUNNEL_HOME:

export SEATUNNEL_HOME=${seatunnel install path} export PATH=$PATH:$SEATUNNEL_HOME/bin

4.2 第 3 步:分别配置 Master / Worker 的 JVM 参数

分离模式下两个角色使用独立的 JVM 参数文件:

  • Master 节点:$SEATUNNEL_HOME/config/jvm_master_options(仓库模板见 config/jvm_master_options)
  • Worker 节点:$SEATUNNEL_HOME/config/jvm_worker_options(仓库模板见 config/jvm_worker_options)

两个文件的默认内容一致,包含堆大小、OOM Dump、Metaspace 与 G1GC 配置:

# JVM Heap -Xms2g -Xmx2g # JVM Dump -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/seatunnel/dump/zeta-server # Metaspace -XX:MaxMetaspaceSize=2g # G1GC -XX:+UseG1GC

4.3 第 4 步:配置 seatunnel.yaml(注意参数生效范围)

分离模式下,seatunnel.yaml中的部分参数只在特定角色上生效。若 Master 与 Worker 进程在同一台机器上启动,二者会共享seatunnel.yaml,此时不生效的角色会忽略对应配置:

  • backup-count(Master 生效,Worker 不生效):原理与混合模式相同(基于 Hazelcast IMap 分区备份实现 HA,无需 Zookeeper)。推荐取值min(1, max(5, N/2))(N为集群节点数)。由于分离模式下 Worker 不存 Imap 数据,Worker 节点上的backup-count配置不生效,共享配置时 Worker 会忽略它:
seatunnel: engine: backup-count: 1
  • slot-service(Worker 生效,Master 不生效):Master 不运行任务,因此不会启动 Slot 服务,Master 节点上的slot-service配置不生效;共享配置时 Master 会忽略它。Slot 数与公式N = 2 + P(任务所需 Slot 数)及“推荐为节点 CPU 核数两倍”的规则与混合模式一致:
seatunnel: engine: slot-service: dynamic-slot: true

静态配置:

seatunnel: engine: slot-service: dynamic-slot: false slot-num: 20
  • checkpoint(Master 生效,Worker 不生效):checkpoint 配置只被 Master 服务读取,Worker 服务不读取;共享配置时 Worker 会忽略checkpoint配置。interval(毫秒)与timeout(超时触发 checkpoint 失败)的作业级覆盖规则与混合模式相同,示例:
seatunnel: engine: backup-count: 1 print-execution-info-interval: 10 slot-service: dynamic-slot: true checkpoint: interval: 300000 timeout: 10000

checkpoint 存储同样要求:集群节点数大于 1 时必须使用分布式或共享存储,具体参见 checkpoint-storage.md。

  • history-job-expire-minutes:已完成作业信息存于 IMap,默认 1440 分钟(一天),防止作业增多导致内存溢出:
seatunnel: engine: history-job-expire-minutes: 1440
  • classloader-cache-mode:解决类加载器反复创建销毁导致的资源泄漏 / metaspace 溢出问题,默认 false:
seatunnel: engine: classloader-cache-mode: true
  • IMap 持久化(Master 生效,Worker 不生效):由于分离模式下只有 Master 存储 IMap 数据,Worker 服务不会读取该配置项。持久化原理、参数(type仅支持hdfs、namespace、clusterName、fs.defaultFS)以及 HDFS / 本地文件 / OSS 三种配置示例与混合模式章节 5.3 完全一致,此处不再重复粘贴;同样注意 OSS 场景下需在 lib 目录放置对应的 6 个 jar(aliyun-sdk-oss-3.13.2.jar、hadoop-aliyun-3.3.6.jar、jdom2-2.0.6.jar、netty-buffer-4.1.89.Final.jar、netty-common-4.1.89.Final.jar、seatunnel-hadoop3-3.1.4-uber.jar)。

4.4 第 5 步:配置网络服务(hazelcast-master.yaml / hazelcast-worker.yaml)

分离模式下网络相关配置分别放在hazelcast-master.yaml与hazelcast-worker.yaml中(仓库模板见 config/hazelcast-master.yaml 与 config/hazelcast-worker.yaml)。

  • cluster-name:节点以此判断是否同集群,不一致则拒绝服务请求;
  • network:基于 Hazelcast 发现机制自动组网,组网后成员间通信始终走 TCP/IP。支持tcp-ip完整 TCP/IP 集群配置(详见 tcp.md),TCP 也是独立集群场景的推荐方式。

分离模式下 Master 与 Worker 使用不同的端口:

Master 节点网络配置hazelcast-master.yaml(端口 5801,并开启 REST API 与集群写/数据端点组):

hazelcast: cluster-name: seatunnel network: rest-api: enabled: true endpoint-groups: CLUSTER_WRITE: enabled: true DATA: enabled: true join: tcp-ip: enabled: true member-list: - master-node-1:5801 - master-node-2:5801 - worker-node-1:5802 - worker-node-2:5802 port: auto-increment: false port: 5801 properties: hazelcast.heartbeat.failuredetector.type: phi-accrual hazelcast.heartbeat.interval.seconds: 2 hazelcast.max.no.heartbeat.seconds: 180 hazelcast.heartbeat.phiaccrual.failuredetector.threshold: 10 hazelcast.heartbeat.phiaccrual.failuredetector.sample.size: 200 hazelcast.heartbeat.phiaccrual.failuredetector.min.std.dev.millis: 100

Worker 节点网络配置hazelcast-worker.yaml(端口 5802,无 REST API):

hazelcast: cluster-name: seatunnel network: join: tcp-ip: enabled: true member-list: - master-node-1:5801 - master-node-2:5801 - worker-node-1:5802 - worker-node-2:5802 port: auto-increment: false port: 5802 properties: hazelcast.heartbeat.failuredetector.type: phi-accrual hazelcast.heartbeat.interval.seconds: 2 hazelcast.max.no.heartbeat.seconds: 180 hazelcast.heartbeat.phiaccrual.failuredetector.threshold: 10 hazelcast.heartbeat.phiaccrual.failuredetector.sample.size: 200 hazelcast.heartbeat.phiaccrual.failuredetector.min.std.dev.millis: 100

注意member-list需要同时列出 Master 与 Worker 全部节点(含各自端口),这样 Master 与 Worker 才能互相发现、共同组成一个集群。上述心跳相关参数(phi-accrual 故障检测器、心跳间隔、最大无心跳秒数、阈值、采样数、最小标准差)用于控制节点故障检测的灵敏度。

4.5 第 6 步:启动 Master 节点

使用-d守护参数并指定角色master:

mkdir -p $SEATUNNEL_HOME/logs ./bin/seatunnel-cluster.sh -d -r master

日志写入$SEATUNNEL_HOME/logs/seatunnel-engine-master.log。

4.6 第 7 步:启动 Worker 节点

使用-d守护参数并指定角色worker:

mkdir -p $SEATUNNEL_HOME/logs ./bin/seatunnel-cluster.sh -d -r worker

日志写入$SEATUNNEL_HOME/logs/seatunnel-engine-worker.log。

4.7 第 8 步:安装与配置客户端

  • 8.1 在客户端节点按服务端相同方式配置SEATUNNEL_HOME(/etc/profile.d/seatunnel.sh);
  • 8.2 客户端配置在hazelcast-client.yaml(仓库模板见 config/hazelcast-client.yaml)。cluster-name必须与引擎一致;network.cluster-members需添加所有 Master 节点地址:
hazelcast-client: cluster-name: seatunnel properties: hazelcast.logging.type: log4j2 network: cluster-members: - master-node-1:5801 - master-node-2:5801

4.8 第 9 步:提交与管理作业

部署完成后,通过 user-command.md 完成作业提交与管理(sh bin/seatunnel.sh --config ...提交、-l列表、-j <jobId>状态、-can <jobId>取消、-s <jobId>暂停、-r <jobId>恢复等,其中暂停/恢复要求作业开启 checkpoint)。

五、模式对比与生产选型建议

维度本地模式混合集群模式分离集群模式
集群成本无需集群所有节点兼 Master + WorkerMaster 与 Worker 分离部署
任务执行提交进程内独立进程所有节点运行任务仅 Worker 运行任务
Master 负载—高(需同步跑任务)低(专职调度/REST API)
Imap 数据—分布存于全部节点仅存 Master 节点
容错能力无(进程退出即结束)基于 IMap 备份 + checkpointMaster 故障自动选举切换,Worker 故障不影响 Imap
运维能力不支持暂停/恢复/列表/REST API完整命令行运维完整命令行运维
适用场景测试、本地调试中小规模快速部署生产环境(实验特性,官方推荐)

选型要点:

  1. 本地模式只用于测试与快速验证,不要用于生产;
  2. 混合集群模式适合快速搭建集群,但任务规模较大时 Master 需同时跑任务会影响其稳定性,且 Master 切换会引发所有任务容错、加重负载;
  3. 分离集群模式是官方推荐用法:Master 负载低、稳定性高,Worker 故障不影响 Imap 数据分布,是最适合生产环境的部署形态;
  4. 无论哪种集群模式,多节点部署时都要把checkpoint 存储配置为分布式/共享存储(HDFS、OSS、S3、MinIO 或本地文件均可,本地文件仅限单节点),否则节点故障后无法在其他节点恢复任务状态。

相关配置与文档资源(均可直接在仓库中查阅):引擎配置模板 config/seatunnel.yaml、网络配置 config/hazelcast.yaml / config/hazelcast-master.yaml / config/hazelcast-worker.yaml、客户端配置 config/hazelcast-client.yaml、JVM 配置 config/jvm_options / config/jvm_master_options / config/jvm_worker_options / config/jvm_client_options,以及配套文档 local-mode-deployment.md、hybrid-cluster-deployment.md、separated-cluster-deployment.md、checkpoint-storage.md、tcp.md、user-command.md。

  • 数据工程
  • 大数据
  • 批处理
  • 流处理

【免费下载链接】seatunnel

SeaTunnel is a next-generation super high-performance, distributed, massive data integration tool.

项目地址:https://gitcode.com/gh_mirrors/sea/seatunnel
点击查看免费下载

相关推荐

上一篇:base65536实战指南:在JavaScript项目中轻松集成编码功能
下一篇:3步攻克布料渲染瓶颈:RenderDoc大规模场景性能调优指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/29 6:11:45

DTFT与DFT本质区别:理论频谱与工程频谱的双重视角

1. 这不是“背公式”的问题&#xff0c;而是信号世界里的两种“拍照方式”你翻过《数字信号处理》教材的傅里叶变换章节&#xff0c;大概率见过这样一幕&#xff1a;左边一页密密麻麻写着DTFT的积分式&#xff0c;右边一页又突然跳成DFT的求和式&#xff0c;中间连个过渡句都没…

作者头像 李华
网站建设 2026/9/29 6:11:11

基于eNSP的校园网络规划设计与仿真实现——以高职院校为例

简介&#xff1a;论文以岭南职业技术学院为校园网络改造对象&#xff0c;基于eNSP模拟平台完成整体网络规划&#xff0c;可作为网络工程、计算机科学与技术等专业毕业设计及课程设计的参考模板。方案采用接入层、汇聚层、核心层三层架构&#xff0c;涉及出口防火墙、运营商ISP路…

作者头像 李华
网站建设 2026/9/29 6:08:06

GitHub热点项目怎么选?一套可复用的筛选与评估框架

1. 这个榜单到底在解决什么问题每个月甚至每周&#xff0c;GitHub 上都会冒出大量新项目&#xff0c;Trending 页面一刷就是几十个仓库。但真正值得花时间研究的&#xff0c;其实就那么几个。我做技术选型和项目调研这些年&#xff0c;最大的感受是&#xff1a;信息过载比信息匮…

作者头像 李华