- 数据工程
- 大数据
- 批处理
- 流处理
【免费下载链接】seatunnel
SeaTunnel is a next-generation super high-performance, distributed, massive data integration tool.
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):
- 不支持暂停与恢复任务;
- 不支持查看任务列表;
- 无法通过命令取消作业,只能通过杀掉进程终止;
- 不支持 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/bin3.3 第 3 步:配置引擎 JVM 参数
SeaTunnel Engine 支持两种方式设置 JVM 参数:
- 在
$SEATUNNEL_HOME/config/jvm_options文件中添加 JVM 选项(仓库模板见 config/jvm_options); - 启动引擎时追加参数,例如:
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 configurations4.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: 204.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: 10000checkpoint 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: 14404.5 类加载器缓存模式(classloader-cache-mode)
该配置主要解决不断创建并尝试销毁类加载器导致的资源泄漏问题;若遇到 metaspace 溢出相关异常,可尝试开启。开启后,作业完成时 SeaTunnel 不再尝试释放对应类加载器,供后续作业复用,从而降低类加载器创建频率;在运行作业使用的 Source/Sink 连接器类型不多时效果更明显。默认值为 false:
seatunnel: engine: classloader-cache-mode: true3.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:58013.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/bin4.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:+UseG1GC4.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: 10000checkpoint 存储同样要求:集群节点数大于 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: 100Worker 节点网络配置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:58014.8 第 9 步:提交与管理作业
部署完成后,通过 user-command.md 完成作业提交与管理(sh bin/seatunnel.sh --config ...提交、-l列表、-j <jobId>状态、-can <jobId>取消、-s <jobId>暂停、-r <jobId>恢复等,其中暂停/恢复要求作业开启 checkpoint)。
五、模式对比与生产选型建议
| 维度 | 本地模式 | 混合集群模式 | 分离集群模式 |
|---|---|---|---|
| 集群成本 | 无需集群 | 所有节点兼 Master + Worker | Master 与 Worker 分离部署 |
| 任务执行 | 提交进程内独立进程 | 所有节点运行任务 | 仅 Worker 运行任务 |
| Master 负载 | — | 高(需同步跑任务) | 低(专职调度/REST API) |
| Imap 数据 | — | 分布存于全部节点 | 仅存 Master 节点 |
| 容错能力 | 无(进程退出即结束) | 基于 IMap 备份 + checkpoint | Master 故障自动选举切换,Worker 故障不影响 Imap |
| 运维能力 | 不支持暂停/恢复/列表/REST API | 完整命令行运维 | 完整命令行运维 |
| 适用场景 | 测试、本地调试 | 中小规模快速部署 | 生产环境(实验特性,官方推荐) |
选型要点:
- 本地模式只用于测试与快速验证,不要用于生产;
- 混合集群模式适合快速搭建集群,但任务规模较大时 Master 需同时跑任务会影响其稳定性,且 Master 切换会引发所有任务容错、加重负载;
- 分离集群模式是官方推荐用法:Master 负载低、稳定性高,Worker 故障不影响 Imap 数据分布,是最适合生产环境的部署形态;
- 无论哪种集群模式,多节点部署时都要把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.
相关推荐
SeaTunnel Engine(Zeta)三种部署模式详解:Local、混合集群与分离集群实战指南
SeaTunnel Engine(Zeta)三种部署模式详解:Local、混合集群与分离集群实战指南 SeaTunnel Engine(Zeta 引擎)是 Se
数据集成ETL大数据批处理流处理变更数据捕获SeaTunnel Docker 部署与运维指南:从本地模式到 Zeta 集群模式
SeaTunnel Docker 部署与运维指南:从本地模式到 Zeta 集群模式 本篇指南系统讲解如何在 Docker 中部署与使用 Apache SeaTu
数据集成ETL大数据批处理流处理变更数据捕获SeaTunnel Engine 分离集群模式(Master/Worker 分离)部署完全指南
SeaTunnel Engine 分离集群模式(Master/Worker 分离)部署完全指南 本篇技术指南围绕 SeaTunnel Engine 的 分离集群
数据工程大数据批处理流处理
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考