This is an automated email from the ASF dual-hosted git repository.
liugddx pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new 1b5e76671e [Doc][Improve] Add Support Chinese for seatunnel-engine
(#6656)
1b5e76671e is described below
commit 1b5e76671e22a5f7465b6578baed717434b4d9ba
Author: zuo <[email protected]>
AuthorDate: Mon Apr 8 18:31:36 2024 +0800
[Doc][Improve] Add Support Chinese for seatunnel-engine (#6656)
* [Doc][Improve] Add Support Chinese for seatunnel-engine
* [Doc][Improve] Format adjustment
* [Doc][Improve] Fix grammar errors
---
docs/zh/seatunnel-engine/about.md | 40 +++
docs/zh/seatunnel-engine/checkpoint-storage.md | 1 -
docs/zh/seatunnel-engine/cluster-mode.md | 2 +-
docs/zh/seatunnel-engine/deployment.md | 277 +++++++++++++++++++++
.../zh/seatunnel-engine/engine-jar-storage-mode.md | 95 +++++++
docs/zh/seatunnel-engine/local-mode.md | 2 +-
docs/zh/seatunnel-engine/savepoint.md | 26 ++
docs/zh/seatunnel-engine/tcp.md | 37 +++
8 files changed, 477 insertions(+), 3 deletions(-)
diff --git a/docs/zh/seatunnel-engine/about.md
b/docs/zh/seatunnel-engine/about.md
index e69de29bb2..6e5de112a2 100644
--- a/docs/zh/seatunnel-engine/about.md
+++ b/docs/zh/seatunnel-engine/about.md
@@ -0,0 +1,40 @@
+---
+
+sidebar_position: 1
+-------------------
+
+# SeaTunnel Engine
+
+SeaTunnel Engine 是一个由社区开发的用于数据同步场景的引擎,作为 SeaTunnel
的默认引擎,它支持高吞吐量、低延迟和强一致性的数据同步作业操作,更快、更稳定、更节省资源且易于使用
+
+SeaTunnel Engine 的整体设计遵循以下路径:
+
+- 更快,SeaTunnel Engine
的执行计划优化器旨在减少数据网络传输,从而减少由于数据序列化和反序列化造成的整体同步性能损失,使用户能够更快地完成数据同步操作。同时,支持速度限制,以合理速度同步数据。
+- 更稳定,SeaTunnel Engine 使用 Pipeline
作为数据同步任务的最小粒度的检查点和容错。任务的失败只会影响其上游和下游任务,避免了任务失败导致整个作业失败或回滚的情况。同时,SeaTunnel
Engine
还支持数据缓存,用于源数据有存储时间限制的场景。当启用缓存时,从源读取的数据将自动缓存,然后由下游任务读取并写入目标。在这种情况下,即使由于目标失败而无法写入数据,也不会影响源的常规读取,防止源数据过期被删除。
+- 节省空间,SeaTunnel Engine 内部使用动态线程共享技术。在实时同步场景中,对于每个表数据量很大但每个表数据量很小的表,SeaTunnel
Engine 将在共享线程中运行这些同步任务,以减少不必要的线程创建并节省系统空间。在读取和写入数据方面,SeaTunnel Engine 的设计目标是最小化
JDBC 连接的数量;在 CDC 场景中,SeaTunnel Engine 将重用日志读取和解析资源。
+- 简单易用,SeaTunnel Engine 减少了对第三方服务的依赖,并且可以独立于如 Zookeeper 和 HDFS
等大数据组件实现集群管理、快照存储和集群 HA 功能。这对于目前缺乏大数据平台的用户,或者不愿意依赖大数据平台进行数据同步的用户来说非常有用。
+
+未来,SeaTunnel Engine 将进一步优化其功能,以支持离线批同步的全量同步和增量同步、实时同步和 CDC。
+
+### 集群管理
+
+- 支持独立运行;
+- 支持集群运行;
+- 支持自治集群(去中心化),使用户无需为 SeaTunnel Engine
集群指定主节点,因为它可以在运行过程中自行选择主节点,并且在主节点失败时自动选择新的主节点。
+- 自治集群节点发现和具有相同 cluster_name 的节点将自动形成集群。
+
+### 核心功能
+
+- 支持在本地模式下运行作业,作业完成后集群自动销毁;
+- 支持在集群模式下运行作业(单机或集群),通过 SeaTunnel 客户端将作业提交给 SeaTunnel Engine
服务,作业完成后服务继续运行并等待下一个作业提交;
+- 支持离线批同步;
+- 支持实时同步;
+- 批流一体,所有 SeaTunnel V2 Connector 均可在 SeaTunnel Engine 中运行;
+- 支持分布式快照算法,并支持与 SeaTunnel V2 Connector 的两阶段提交,确保数据只执行一次。
+- 支持在 Pipeline 级别调用作业,以确保即使在资源有限的情况下也能启动;
+- 支持在 Pipeline 级别对作业进行容错。任务失败只影响其所在 Pipeline,只需要回滚 Pipeline 下的任务;
+- 支持动态线程共享,以实时同步大量小数据集。
+
+### 快速开始
+
+https://seatunnel.apache.org/docs/start-v2/locally/quick-start-seatunnel-engine
diff --git a/docs/zh/seatunnel-engine/checkpoint-storage.md
b/docs/zh/seatunnel-engine/checkpoint-storage.md
index 795e7bf63b..2ce3be53ae 100644
--- a/docs/zh/seatunnel-engine/checkpoint-storage.md
+++ b/docs/zh/seatunnel-engine/checkpoint-storage.md
@@ -85,7 +85,6 @@ S3基于hdfs-file,所以你可以参考[hadoop s3文档](https://hadoop.apache
您可以这样配置:
```yaml
-``` yaml
seatunnel:
engine:
diff --git a/docs/zh/seatunnel-engine/cluster-mode.md
b/docs/zh/seatunnel-engine/cluster-mode.md
index a0b11cd1df..0dcc0bf216 100644
--- a/docs/zh/seatunnel-engine/cluster-mode.md
+++ b/docs/zh/seatunnel-engine/cluster-mode.md
@@ -11,7 +11,7 @@ sidebar_position: 3
## 部署SeaTunnel Engine集群
-部署SeaTunnel Engine集群参考[SeaTunnel
Engine集群部署](../../en/seatunnel-engine/deployment.md)
+部署SeaTunnel Engine集群参考[SeaTunnel Engine集群部署](deployment.md)
## 提交作业
diff --git a/docs/zh/seatunnel-engine/deployment.md
b/docs/zh/seatunnel-engine/deployment.md
new file mode 100644
index 0000000000..d68c8d444a
--- /dev/null
+++ b/docs/zh/seatunnel-engine/deployment.md
@@ -0,0 +1,277 @@
+---
+
+sidebar_position: 4
+-------------------
+
+# 部署 SeaTunnel Engine
+
+## 1. 下载
+
+SeaTunnel Engine 是 SeaTunnel 的默认引擎。SeaTunnel 的安装包已经包含了 SeaTunnel Engine 的所有内容。
+
+## 2 配置 SEATUNNEL_HOME
+
+您可以通过添加 `/etc/profile.d/seatunnel.sh` 文件来配置 `SEATUNNEL_HOME`
。`/etc/profile.d/seatunnel.sh` 的内容如下:
+
+```
+export SEATUNNEL_HOME=${seatunnel install path}
+export PATH=$PATH:$SEATUNNEL_HOME/bin
+```
+
+## 3. 配置 SeaTunnel Engine JVM 选项
+
+SeaTunnel Engine 支持两种设置 JVM 选项的方法。
+
+1. 将 JVM 选项添加到 `$SEATUNNEL_HOME/bin/seatunnel-cluster.sh`.
+
+ 修改 `$SEATUNNEL_HOME/bin/seatunnel-cluster.sh` 文件,并在第一行添加 `JAVA_OPTS="-Xms2G
-Xmx2G"`.
+
+2. 在启动 SeaTunnel Engine 时添加 JVM 选项。例如 `seatunnel-cluster.sh
-DJvmOption="-Xms2G -Xmx2G"`
+
+## 4. 配置 SeaTunnel Engine
+
+SeaTunnel Engine 提供许多功能,需要在 `seatunnel.yaml` 中进行配置。.
+
+### 4.1 备份计数
+
+SeaTunnel Engine 基于 [Hazelcast IMDG](https://docs.hazelcast.com/imdg/4.1/)
实现集群管理。集群的状态数据(作业运行状态、资源状态)存储在 [Hazelcast
IMap](https://docs.hazelcast.com/imdg/4.1/data-structures/map)。
+存储在 Hazelcast IMap 中的数据将在集群的所有节点上分布和存储。Hazelcast 会分区存储在 Imap 中的数据。每个分区可以指定备份数量。
+因此,SeaTunnel Engine 可以实现集群 HA,无需使用其他服务(例如 zookeeper)。
+
+`backup count` 是定义同步备份数量的参数。例如,如果设置为 1,则分区的备份将放置在一个其他成员上。如果设置为 2,则将放置在两个其他成员上。
+
+我们建议 `backup-count` 的值为 `min(1, max(5, N/2))`。 `N` 是集群节点的数量。
+
+```yaml
+seatunnel:
+ engine:
+ backup-count: 1
+ # 其他配置
+```
+
+### 4.2 插槽服务
+
+插槽数量决定了集群节点可以并行运行的任务组数量。SeaTunnel Engine 是一个数据同步引擎,大多数作业都是 IO 密集型的。
+建议使用动态插槽。
+
+```yaml
+seatunnel:
+ engine:
+ slot-service:
+ dynamic-slot: true
+ # 其他配置
+```
+
+### 4.3 检查点管理器
+
+与 Flink 一样,SeaTunnel Engine 支持 Chandy–Lamport 算法。因此,可以实现无数据丢失和重复的数据同步。
+
+**interval**
+
+两个检查点之间的间隔,单位是毫秒。如果在作业配置文件的 `env` 中配置了 `checkpoint.interval` 参数,则此处设置的值将覆盖它。
+
+**timeout**
+
+检查点的超时时间。如果在超时时间内无法完成检查点,则会触发检查点失败。因此,作业将被恢复。
+
+示例
+
+```yaml
+seatunnel:
+ engine:
+ backup-count: 1
+ print-execution-info-interval: 10
+ slot-service:
+ dynamic-slot: true
+ checkpoint:
+ interval: 300000
+ timeout: 10000
+```
+
+**checkpoint storage**
+
+有关检查点存储的信息,您可以查看 [checkpoint storage](checkpoint-storage.md)
+
+### 4.4 历史作业过期配置
+
+每个完成的作业的信息,如状态、计数器和错误日志,都存储在 IMap 对象中。随着运行作业数量的增加,内存会增加,最终内存将溢出。因此,您可以调整
`history-job-expire-minutes` 参数来解决这个问题。此参数的时间单位是分钟。默认值是 1440 分钟,即一天。
+
+示例
+
+```yaml
+seatunnel:
+ engine:
+ history-job-expire-minutes: 1440
+```
+
+### 4.5 类加载器缓存模式
+
+此配置主要解决不断创建和尝试销毁类加载器所导致的资源泄漏问题。
+如果您遇到与元空间溢出相关的异常,您可以尝试启用此配置。
+为了减少创建类加载器的频率,在启用此配置后,SeaTunnel
在作业完成时不会尝试释放相应的类加载器,以便它可以被后续作业使用,也就是说,当运行作业中使用的 Source/Sink 连接器类型不是太多时,它更有效。
+默认值是 false。
+示例
+
+```yaml
+seatunnel:
+ engine:
+ classloader-cache-mode: true
+```
+
+## 5. 配置 SeaTunnel Engine 服务
+
+所有 SeaTunnel Engine 服务配置都在 `hazelcast.yaml` 文件中.
+
+### 5.1 集群名称
+
+SeaTunnel Engine 节点使用 `cluster-name`
来确定另一个节点是否与自己在同一集群中。如果两个节点之间的集群名称不同,SeaTunnel 引擎将拒绝服务请求。
+
+### 5.2 网络
+
+基于
[Hazelcast](https://docs.hazelcast.com/imdg/4.1/clusters/discovery-mechanisms),
一个 SeaTunnel Engine 集群是由运行 SeaTunnel Engine 服务器的集群成员组成的网络。
集群成员自动加入一起形成集群。这种自动加入是通过集群成员使用的各种发现机制来相互发现的。
+
+请注意,集群形成后,集群成员之间的通信始终通过 TCP/IP 进行,无论使用的发现机制如何。
+
+SeaTunnel Engine 使用以下发现机制。
+
+#### TCP
+
+您可以将 SeaTunnel Engine 配置为完整的 TCP/IP 集群。有关配置详细信息,请参阅 [Discovering Members by
TCP section](tcp.md)。
+
+一个示例如下 `hazelcast.yaml`
+
+```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
+```
+
+TCP 是我们建议在独立 SeaTunnel Engine 集群中使用的方式。
+
+另一方面,Hazelcast 提供了一些其他的服务发现方法。有关详细信息,请参阅 [hazelcast
network](https://docs.hazelcast.com/imdg/4.1/clusters/setting-up-clusters)
+
+### 5.3 映射
+
+仅在映射上配置时,MapStores 才会连接到外部数据存储。本主题解释了如何使用 MapStore 配置映射。有关详细信息,请参阅 [hazelcast
map](https://docs.hazelcast.com/imdg/4.2/data-structures/map)
+
+**type**
+
+imap 持久化的类型,目前仅支持 `hdfs`。
+
+**namespace**
+
+它用于区分不同业务的数据存储位置,如 OSS 存储桶名称。
+
+**clusterName**
+
+此参数主要用于集群隔离, 我们可以使用它来区分不同的集群,如 cluster1、cluster2,这也用于区分不同的业务。
+
+**fs.defaultFS**
+
+我们使用 hdfs api 读写文件,因此使用此存储需要提供 hdfs 配置。
+
+如果您使用 HDFS,可以像这样配置:
+
+```yaml
+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,并且您的集群只有一个节点,您可以像这样配置使用本地文件:
+
+```yaml
+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,可以像这样配置:
+
+```yaml
+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
+```
+
+## 6. 配置 SeaTunnel Engine 客户端
+
+所有 SeaTunnel Engine 客户端的配置都在 `hazelcast-client.yaml` 里。
+
+### 6.1 cluster-name
+
+客户端必须与 SeaTunnel Engine 具有相同的 `cluster-name`。否则,SeaTunnel Engine 将拒绝客户端的请求。
+
+### 6.2 网络
+
+**cluster-members**
+
+需要将所有 SeaTunnel Engine 服务器节点的地址添加到这里。
+
+```yaml
+hazelcast-client:
+ cluster-name: seatunnel
+ properties:
+ hazelcast.logging.type: log4j2
+ network:
+ cluster-members:
+ - hostname1:5801
+```
+
+## 7. 启动 SeaTunnel Engine 服务器节点
+
+可以通过守护进程使用 `-d` 参数启动。
+
+```shell
+mkdir -p $SEATUNNEL_HOME/logs
+./bin/seatunnel-cluster.sh -d
+```
+
+日志将写入 `$SEATUNNEL_HOME/logs/seatunnel-engine-server.log`
+
+## 8. 安装 SeaTunnel Engine 客户端
+
+您只需将 SeaTunnel Engine 节点上的 `$SEATUNNEL_HOME` 目录复制到客户端节点,并像 SeaTunnel Engine
服务器节点一样配置 `SEATUNNEL_HOME`。
+
diff --git a/docs/zh/seatunnel-engine/engine-jar-storage-mode.md
b/docs/zh/seatunnel-engine/engine-jar-storage-mode.md
new file mode 100644
index 0000000000..3ea7916b27
--- /dev/null
+++ b/docs/zh/seatunnel-engine/engine-jar-storage-mode.md
@@ -0,0 +1,95 @@
+---
+
+sidebar_position: 8
+-------------------
+
+# 配置引擎 Jar 存储模式
+
+:::警告
+
+请注意,此功能目前处于实验阶段,还有许多方面需要改进。因此,我们建议在使用此功能时谨慎行事,以避免潜在的问题和不必要的风险。
+我们致力于持续努力增强和稳定此功能,确保为您提供更好的体验。
+
+:::
+
+我们可以启用优化的作业提交过程,这在 `seatunnel.yaml` 中进行配置。启用了 Seatunnel 作业提交过程配置项的优化后,
+用户可以使用 Seatunnel Zeta 引擎作为执行引擎,而无需在每个引擎 `connector` 目录中放置任务执行所需的连接器 Jar
包或连接器所依赖的第三方 Jar 包。
+用户只需在提交作业的客户端上放置所有任务执行所需的 Jar 包,客户端将自动上传任务执行所需的 Jars 到 Zeta 引擎。在 Docker 或 k8s
模式下提交作业时,启用此配置项是必要的,
+这可以从根本上解决由 Seatunnel Zeta 引擎的重量造成的大型容器镜像问题。在镜像中,只需要提供 Zeta 引擎的核心框架包,
+然后可以将连接器的 jar 包和连接器所依赖的第三方 jar 包分别上传到 pod 进行分发。
+
+启用了优化作业提交过程配置项后,您不需要在 Zeta 引擎中放置以下两种类型的 Jar 包:
+- COMMON_PLUGIN_JARS
+- CONNECTOR_PLUGIN_JARS
+
+COMMON_ PLUGIN_ JARS 指的是连接器所依赖的第三方 Jar 包, CONNECTOR_ PLUGIN_ JARS 指的是连接器 Jar 包。
+当 Zeta 的 `lib` 中不存在公共 jars 时,它可以将客户端的本地公共 jars 上传到所有引擎节点的 `lib` 目录。
+这样,即使用户没有在 Zeta 的 `lib` 中放置 jar,任务仍然可以正常执行。
+然而,我们不推荐依赖打开优化作业提交过程的配置项来上传连接器所依赖的第三方 Jar 包。
+如果您使用 Zeta 引擎,请将连接器所依赖的第三方 jar 包文件添加到每个节点的 `$SEATUNNEL_HOME/lib/` 目录中,例如 jdbc
驱动程序。
+
+# 连接器 Jar 存储策略
+
+您可以通过配置文件配置当前连接器 Jar 包和连接器所依赖的第三方 Jar 包的存储策略。
+可以配置两种存储策略,即共享 Jar 包存储策略和隔离 Jar 包存储策略。
+两种不同的存储策略为 Jar 文件提供了更灵活的存储模式。
+您可以配置存储策略,使引擎中的多个执行作业共享相同的 Jar 包文件。
+
+## 相关配置
+
+| 参数 | 默认值 |
描述 |
+|-------------------------------------|--------|-------------------------------------------------------------------------|
+| connector-jar-storage-enable | false | 是否启用上传连接器 Jar 包到引擎。默认启用状态为
false。 |
+| connector-jar-storage-mode | SHARED | 引擎端 Jar
包存储模式选择。有两个可选模式,SHARED(共享)和 ISOLATED(隔离)。默认的 Jar 包存储模式是 SHARED。 |
+| connector-jar-storage-path | " " | 用户自定义的 Jar 包存储路径。
|
+| connector-jar-cleanup-task-interval | 3600s | 引擎端 Jar 包清理定时任务执行间隔。
|
+| connector-jar-expiry-time | 600s | 引擎端 Jar 包存储过期时间。
|
+
+## 隔离连接器Jar存储策略
+
+在作业提交之前,连接器 Jar 包将被上传到 Master 节点上的一个独立文件存储路径中。
+不同作业的连接器 Jar 包位于不同的存储路径中,因此不同作业的连接器 Jar 包彼此隔离。
+作业执行所需的 Jar 包文件不会影响其他作业。当当前作业执行结束时,基于 `JobId` 生成的存储路径中的 Jar 包文件将被删除。
+
+示例:
+
+```yaml
+jar-storage:
+ connector-jar-storage-enable: true
+ connector-jar-storage-mode: ISOLATED
+ connector-jar-storage-path: ""
+ connector-jar-cleanup-task-interval: 3600
+ connector-jar-expiry-time: 600
+```
+
+配置参数的详细解释:
+- connector-jar-storage-enable: 在执行作业前启用上传连接器 Jar 包的功能。
+- connector-jar-storage-mode: 连接器 Jar
包的存储模式,有两种存储模式可供选择:共享模式(SHARED)和隔离模式(ISOLATED)。
+- connector-jar-storage-path: 在 Zeta 引擎上用户自定义连接器 Jar 包的本地存储路径。
+- connector-jar-cleanup-task-interval: Zeta 引擎连接器 Jar 包定时清理任务的间隔时间,默认为 3600 秒。
+- connector-jar-expiry-time: 连接器 Jar 包的过期时间,默认为 600 秒。
+
+## 共享连接器Jar存储策略
+
+在作业提交之前,连接器 Jar 包将被上传到 Master 节点。如果不同的作业使用相同的 Jar 包文件,它们可以在 Master 节点上共享连接器
Jars。
+所有 Jar 包文件都被持久化到一个共享的文件存储路径中,引用 Master 节点的 Jar 包可以在不同作业之间共享。任务执行完成后,
+共享连接器Jar存储策略 不会立即删除与当前任务执行相关的所有 Jar 包,而是有一个独立的线程负责清理工作。
+以下配置文件中的配置设置了清理工作的运行时间和 Jar 包的存活时间。
+
+示例:
+
+```yaml
+jar-storage:
+ connector-jar-storage-enable: true
+ connector-jar-storage-mode: SHARED
+ connector-jar-storage-path: ""
+ connector-jar-cleanup-task-interval: 3600
+ connector-jar-expiry-time: 600
+```
+
+配置参数的详细解释:
+- connector-jar-storage-enable: 在执行作业前启用上传连接器 Jar 包的功能。
+- connector-jar-storage-mode: 连接器 Jar
包的存储模式,有两种存储模式可供选择:共享模式(SHARED)和隔离模式(ISOLATED)。
+- connector-jar-storage-path: 在 Zeta 引擎上用户自定义连接器 Jar 包的本地存储路径。
+- connector-jar-cleanup-task-interval: Zeta 引擎连接器 Jar 包定时清理任务的间隔时间,默认为 3600 秒。
+- connector-jar-expiry-time: 连接器 Jar 包的过期时间,默认为 600 秒。
diff --git a/docs/zh/seatunnel-engine/local-mode.md
b/docs/zh/seatunnel-engine/local-mode.md
index 3738721fa7..213f371c08 100644
--- a/docs/zh/seatunnel-engine/local-mode.md
+++ b/docs/zh/seatunnel-engine/local-mode.md
@@ -11,7 +11,7 @@ sidebar_position: 2
## 本地模式部署SeaTunnel Engine
-[部署SeaTunnel Engine本地模式参考](../../en/start-v2/locally/deployment.md)
+[部署SeaTunnel Engine本地模式参考](../../zh/start-v2/locally/deployment.md)
## 修改SeaTunnel Engine配置
diff --git a/docs/zh/seatunnel-engine/savepoint.md
b/docs/zh/seatunnel-engine/savepoint.md
new file mode 100644
index 0000000000..ec861248ae
--- /dev/null
+++ b/docs/zh/seatunnel-engine/savepoint.md
@@ -0,0 +1,26 @@
+---
+
+sidebar_position: 5
+-------------------
+
+# 使用保存点和通过保存点恢复
+
+保存点是使用检查点创建的,它是作业执行状态的全局镜像,可以用于作业或 SeaTunnel 的停止和恢复、升级等。
+
+## 使用保存点
+
+要使用保存点, 您需要确保作业使用的连接器支持检查点,否则数据可能会丢失或重复。
+
+1. 确保作业正在运行。
+
+2. 使用以下命令触发保存点:
+
+ ```./bin/seatunnel.sh -s {jobId}```
+
+执行成功后,检查点数据将被保存,任务将结束。
+
+## 使用保存点进行恢复
+
+通过 `jobId` 使用保存点来恢复作业。
+
+```./bin/seatunnel.sh -c {jobConfig} -r {jobId}```
diff --git a/docs/zh/seatunnel-engine/tcp.md b/docs/zh/seatunnel-engine/tcp.md
new file mode 100644
index 0000000000..0830bce67a
--- /dev/null
+++ b/docs/zh/seatunnel-engine/tcp.md
@@ -0,0 +1,37 @@
+---
+
+sidebar_position: 6
+-------------------
+
+# TCP NetWork
+
+如果您的环境中多播不是首选的发现方式,那么您可以将 SeaTunnel 引擎配置为一个完整的 TCP/IP 集群。当您通过 TCP/IP 配置
SeaTunnel 引擎以发现成员时,您必须将所有或一部分成员的主机名和/或 IP
地址列为集群成员。您不必列出所有这些集群成员,但在新成员加入时,至少有一个列出的成员必须是活跃的。
+
+要配置您的 Hazelcast 作为一个完整的 TCP/IP 集群,请设置以下配置元素。有关 TCP/IP 发现配置元素的完整描述,请参见 tcp-ip
元素部分。
+
+- 将 tcp-ip 元素的 enabled 属性设置为 true。
+- 在 tcp-ip 元素内提供您的成员元素。
+
+以下是一个示例声明性配置。
+
+```yaml
+hazelcast:
+ network:
+ join:
+ tcp-ip:
+ enabled: true
+ member-list:
+ - machine1
+ - machine2
+ - machine3:5799
+ - 192.168.1.0-7
+ - 192.168.1.21
+```
+
+如上所示,您可以为成员元素提供 IP 地址或主机名。您还可以提供一个 IP 地址范围,例如 `192.168.1.0-7`.
+
+除了像上面展示的那样逐行提供成员外,您还可以选择使用 members 元素并写入逗号分隔的 IP 地址,如下所示。
+
+`<members>192.168.1.0-7,192.168.1.21</members>`
+
+如果您没有为成员提供端口,Hazelcast 会自动尝试端口 `5701`, `5702` 等。