欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Apache SeaTunnel 集群部署超詳細(xì)教程

 更新時(shí)間:2024年12月17日 09:49:33   作者:DolphinScheduler社區(qū)  
SeaTunnel Engine 的Master服務(wù)和Worker服務(wù)分離,每個(gè)服務(wù)單獨(dú)一個(gè)進(jìn)程,這篇文章主要介紹了Apache SeaTunnel 集群部署詳細(xì)教程,需要的朋友可以參考下

SeaTunnel Engine 的Master服務(wù)和Worker服務(wù)分離,每個(gè)服務(wù)單獨(dú)一個(gè)進(jìn)程。

  • Master節(jié)點(diǎn)只負(fù)責(zé)作業(yè)調(diào)度,RESTful API,任務(wù)提交等,Imap數(shù)據(jù)只存儲(chǔ)在Master節(jié)點(diǎn)中。
  • Worker節(jié)點(diǎn)只負(fù)責(zé)任務(wù)的執(zhí)行,不參與選舉成為Master,也不存儲(chǔ)Imap數(shù)據(jù)。

在所有Master節(jié)點(diǎn)中,同一時(shí)間只有一個(gè)Master節(jié)點(diǎn)工作,其他Master節(jié)點(diǎn)處于standby狀態(tài)。

當(dāng)Master節(jié)點(diǎn)宕機(jī)或心跳超時(shí),會(huì)從其它節(jié)點(diǎn)中選舉出一個(gè)新的Master Active節(jié)點(diǎn)。

這是最推薦的一種使用方式,在該模式下Master的負(fù)載會(huì)很小,Master更多的資源用來進(jìn)行作業(yè)的調(diào)度,任務(wù)的容錯(cuò)指標(biāo)監(jiān)控以及提供Rest API服務(wù)等,會(huì)有更高的穩(wěn)定性。

同時(shí)Worker節(jié)點(diǎn)不存儲(chǔ)Imap的數(shù)據(jù),所有的Imap數(shù)據(jù)都存儲(chǔ)在Master節(jié)點(diǎn)中,即使Worker節(jié)點(diǎn)負(fù)載高或者掛掉,也不會(huì)導(dǎo)致Imap數(shù)據(jù)重新分布。

下載安裝包

在開始下載SeaTunnel之前,您需要確保您已經(jīng)安裝了SeaTunnel所需要的以下軟件:

安裝Java (Java 8 或 11, 其他高于Java 8的版本理論上也可以工作) 以及設(shè)置 JAVA_HOME

進(jìn)入SeaTunnel下載頁面(https://seatunnel.apache.org/download)下載最新版本的發(fā)布版安裝包`seatunnel- -bin.tar.gz`

或者您也可以通過終端下載

export version="2.3.8"
wget "https://archive.apache.org/dist/seatunnel/${version}/apache-seatunnel-${version}-bin.tar.gz"
tar -xzvf "apache-seatunnel-${version}-bin.tar.gz"

配置 SEATUNNEL_HOME

您可以通過添加 /etc/profile.d/seatunnel.sh 文件來配置 SEATUNNEL_HOME 。

/etc/profile.d/seatunnel.sh 的內(nèi)容如下:

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

配置 Master 節(jié)點(diǎn) JVM 選項(xiàng)

Master節(jié)點(diǎn)的JVM參數(shù)在$SEATUNNEL_HOME/config/jvm_master_options文件中配置。

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

Worker節(jié)點(diǎn)的JVM參數(shù)在$SEATUNNEL_HOME/config/jvm_worker_options文件中配置。

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

配置 SeaTunnel Engine

SeaTunnel Engine 提供許多功能,需要在 seatunnel.yaml中進(jìn)行配置。

Imap中數(shù)據(jù)的備份數(shù)設(shè)置(該參數(shù)在Worker節(jié)點(diǎn)無效)

SeaTunnel Engine 基于 Hazelcast IMDG 實(shí)現(xiàn)集群管理。集群的狀態(tài)數(shù)據(jù)(作業(yè)運(yùn)行狀態(tài)、資源狀態(tài))存儲(chǔ)在 Hazelcast IMap。

存儲(chǔ)在 Hazelcast IMap 中的數(shù)據(jù)將在集群的所有節(jié)點(diǎn)上分布和存儲(chǔ)。

Hazelcast 會(huì)分區(qū)存儲(chǔ)在 Imap 中的數(shù)據(jù)。每個(gè)分區(qū)可以指定備份數(shù)量。因此,SeaTunnel Engine 可以實(shí)現(xiàn)集群 HA,無需使用其他服務(wù)(例如 zookeeper)。

backup count 是定義同步備份數(shù)量的參數(shù)。例如,如果設(shè)置為 1,則分區(qū)的備份將放置在一個(gè)其他成員上。如果設(shè)置為 2,則將放置在兩個(gè)其他成員上。

我們建議 backup-count 的值為 min(1, max(5, N/2))。N 是集群節(jié)點(diǎn)的數(shù)量。

seatunnel:
    engine:
        backup-count: 1
        # 其他配置

由于在分離集群模式下,Worker節(jié)點(diǎn)不存儲(chǔ)Imap數(shù)據(jù),因此Worker節(jié)點(diǎn)的backup-count配置無效。

如果Master和Worker進(jìn)程在同一個(gè)機(jī)器上啟動(dòng),Master和Worker會(huì)共用seatunnel.yaml配置文件,此時(shí)Worker節(jié)點(diǎn)服務(wù)會(huì)忽略backup-count配置。

Slot配置(該參數(shù)在Master節(jié)點(diǎn)無效)

Slot數(shù)量決定了集群節(jié)點(diǎn)可以并行運(yùn)行的任務(wù)組數(shù)量。一個(gè)任務(wù)需要的Slot的個(gè)數(shù)公式為 N = 2 + P(任務(wù)配置的并行度)。

默認(rèn)情況下SeaTunnel Engine的slot個(gè)數(shù)為動(dòng)態(tài),即不限制個(gè)數(shù)。我們建議slot的個(gè)數(shù)設(shè)置為節(jié)點(diǎn)CPU核心數(shù)的2倍。

動(dòng)態(tài)slot個(gè)數(shù)(默認(rèn))配置如下:

seatunnel:
    engine:
        slot-service:
            dynamic-slot: true
        # 其他配置

靜態(tài)slot個(gè)數(shù)配置如下:

seatunnel:
    engine:
        slot-service:
            dynamic-slot: false
            slot-num: 20

由于在分離集群模式下,Master節(jié)點(diǎn)不運(yùn)行任務(wù),所以Master服務(wù)不會(huì)啟動(dòng)Slot服務(wù),因此Master節(jié)點(diǎn)的slot-service配置無效。

如果Master和Worker進(jìn)程在同一個(gè)機(jī)器上啟動(dòng),Master和Worker會(huì)共用seatunnel.yaml配置文件,此時(shí)Master節(jié)點(diǎn)服務(wù)會(huì)忽略slot-service配置。

檢查點(diǎn)管理器(該參數(shù)在Worker節(jié)點(diǎn)無效)

與 Flink 一樣,SeaTunnel Engine 支持 Chandy–Lamport算法。因此,可以實(shí)現(xiàn)無數(shù)據(jù)丟失和重復(fù)的數(shù)據(jù)同步。

interval

兩個(gè)檢查點(diǎn)之間的間隔,單位是毫秒。如果在作業(yè)配置文件的 env 中配置了 checkpoint.interval 參數(shù),將以作業(yè)配置文件中設(shè)置的為準(zhǔn)。

timeout

檢查點(diǎn)的超時(shí)時(shí)間。如果在超時(shí)時(shí)間內(nèi)無法完成檢查點(diǎn),則會(huì)觸發(fā)檢查點(diǎn)失敗,作業(yè)失敗。如果在作業(yè)的配置文件的env中配置了checkpoint.timeout參數(shù),將以作業(yè)配置文件中設(shè)置的為準(zhǔn)。

示例

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

checkpoint storage

檢查點(diǎn)是一種容錯(cuò)恢復(fù)機(jī)制。這種機(jī)制確保程序在運(yùn)行時(shí),即使突然遇到異常,也能自行恢復(fù)。

檢查點(diǎn)定時(shí)觸發(fā),每次檢查點(diǎn)進(jìn)行時(shí)每個(gè)Task都會(huì)被要求將自身的狀態(tài)信息(比如讀取kafka時(shí)讀取到了哪個(gè)offset)上報(bào)給檢查點(diǎn)線程,由該線程寫入一個(gè)分布式存儲(chǔ)(或共享存儲(chǔ))。

當(dāng)任務(wù)失敗然后自動(dòng)容錯(cuò)恢復(fù)時(shí),或者通過seatunnel.sh -r 指令恢復(fù)之前被暫停的任務(wù)時(shí),會(huì)從檢查點(diǎn)存儲(chǔ)中加載對(duì)應(yīng)作業(yè)的狀態(tài)信息,并基于這些狀態(tài)信息進(jìn)行作業(yè)的恢復(fù)。

如果集群的節(jié)點(diǎn)大于1,檢查點(diǎn)存儲(chǔ)必須是一個(gè)分布式存儲(chǔ),或者共享存儲(chǔ),這樣才能保證任意節(jié)點(diǎn)掛掉后依然可以在另一個(gè)節(jié)點(diǎn)加載到存儲(chǔ)中的任務(wù)狀態(tài)信息。

檢查點(diǎn)配置只有Master服務(wù)才會(huì)讀取,Worker服務(wù)不會(huì)讀取檢查點(diǎn)配置。如果Master和Worker進(jìn)程在同一個(gè)機(jī)器上啟動(dòng),Master和Worker會(huì)共用seatunnel.yaml配置文件,此時(shí)Worker節(jié)點(diǎn)服務(wù)會(huì)忽略checkpoint配置。

歷史作業(yè)過期配置

每個(gè)完成的作業(yè)的信息,如狀態(tài)、計(jì)數(shù)器和錯(cuò)誤日志,都存儲(chǔ)在 IMap 對(duì)象中。

隨著運(yùn)行作業(yè)數(shù)量的增加,內(nèi)存會(huì)增加,最終內(nèi)存將溢出。因此,您可以調(diào)整 history-job-expire-minutes 參數(shù)來解決這個(gè)問題。

此參數(shù)的時(shí)間單位是分鐘。默認(rèn)值是 1440 分鐘,即一天。

示例

seatunnel:
  engine:
    history-job-expire-minutes: 1440

類加載器緩存模式

此配置主要解決不斷創(chuàng)建和嘗試銷毀類加載器所導(dǎo)致的資源泄漏問題。如果您遇到與metaspace空間溢出相關(guān)的異常,您可以嘗試啟用此配置。

為了減少創(chuàng)建類加載器的頻率,在啟用此配置后,SeaTunnel 在作業(yè)完成時(shí)不會(huì)嘗試釋放相應(yīng)的類加載器,以便它可以被后續(xù)作業(yè)使用,也就是說,當(dāng)運(yùn)行作業(yè)中使用的 Source/Sink 連接器類型不是太多時(shí),它更有效。默認(rèn)值是 false。

示例

seatunnel:
  engine:
    classloader-cache-mode: true

IMap持久化配置(該參數(shù)在Worker節(jié)點(diǎn)無效)

由于在分離集群模式下,只有Master節(jié)點(diǎn)存儲(chǔ)Imap數(shù)據(jù),Worker節(jié)點(diǎn)不存儲(chǔ)Imap數(shù)據(jù),所以Worker服務(wù)不會(huì)讀取該參數(shù)項(xiàng)。

在SeaTunnel中,我們使用IMap(一種分布式的Map,可以實(shí)現(xiàn)數(shù)據(jù)跨節(jié)點(diǎn)跨進(jìn)程的寫入的讀取 有關(guān)詳細(xì)信息,請(qǐng)參閱 Hazelcast Map) 來存儲(chǔ)每個(gè)任務(wù)及其task的狀態(tài),以便在任務(wù)所在節(jié)點(diǎn)宕機(jī)后,可以在其他節(jié)點(diǎn)上獲取到任務(wù)之前的狀態(tài)信息,從而恢復(fù)任務(wù)實(shí)現(xiàn)任務(wù)的容錯(cuò)。

默認(rèn)情況下Imap的信息只是存儲(chǔ)在內(nèi)存中,我們可以設(shè)置Imap數(shù)據(jù)的復(fù)本數(shù),具體可參考(Imap中數(shù)據(jù)的備份數(shù)設(shè)置),如果復(fù)本數(shù)是2,代表每個(gè)數(shù)據(jù)會(huì)同時(shí)存儲(chǔ)在2個(gè)不同的節(jié)點(diǎn)中。

一旦節(jié)點(diǎn)宕機(jī),Imap中的數(shù)據(jù)會(huì)重新在其它節(jié)點(diǎn)上自動(dòng)補(bǔ)充到設(shè)置的復(fù)本數(shù)。但是當(dāng)所有節(jié)點(diǎn)都被停止后,Imap中的數(shù)據(jù)會(huì)丟失。當(dāng)集群節(jié)點(diǎn)再次啟動(dòng)后,所有之前正在運(yùn)行的任務(wù)都會(huì)被標(biāo)記為失敗,需要用戶手工通過seatunnel.sh -r指令恢復(fù)運(yùn)行。

為了解決這個(gè)問題,我們可以將Imap中的數(shù)據(jù)持久化到外部存儲(chǔ)中,如HDFS、OSS等。這樣即使所有節(jié)點(diǎn)都被停止,Imap中的數(shù)據(jù)也不會(huì)丟失,當(dāng)集群節(jié)點(diǎn)再次啟動(dòng)后,所有之前正在運(yùn)行的任務(wù)都會(huì)被自動(dòng)恢復(fù)。

下面介紹如何使用 MapStore 持久化配置。

type

imap 持久化的類型,目前僅支持 hdfs

namespace

它用于區(qū)分不同業(yè)務(wù)的數(shù)據(jù)存儲(chǔ)位置,如 OSS 存儲(chǔ)桶名稱。

clusterName

此參數(shù)主要用于集群隔離, 我們可以使用它來區(qū)分不同的集群,如 cluster1、cluster2,這也用于區(qū)分不同的業(yè)務(wù)。

fs.defaultFS

我們使用 HDFS API 讀寫文件,因此使用此存儲(chǔ)需要提供 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,并且您的集群只有一個(gè)節(jié)點(diǎn),您可以像這樣配置使用本地文件:

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

注意:使用OSS 時(shí),確保 lib目錄下有這幾個(gè)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

作業(yè)調(diào)度策略

當(dāng)資源不足時(shí),作業(yè)調(diào)度策略可以配置為以下兩種模式:

WAIT:等待資源可用。

REJECT:拒絕作業(yè),默認(rèn)值。

示例

seatunnel:
  engine:
    job-schedule-strategy: WAIT

當(dāng)dynamic-slot: ture時(shí),job-schedule-strategy: WAIT 配置會(huì)失效,將被強(qiáng)制修改為job-schedule-strategy: REJECT,因?yàn)閯?dòng)態(tài)Slot時(shí)該參數(shù)沒有意義,可以直接提交。

配置網(wǎng)絡(luò)服務(wù)

所有 SeaTunnel Engine 網(wǎng)絡(luò)相關(guān)的配置都在 hazelcast-Master.yamlhazelcast-worker.yaml 文件中.

集群名稱

SeaTunnel Engine 節(jié)點(diǎn)使用 cluster-name 來確定另一個(gè)節(jié)點(diǎn)是否與自己在同一集群中。如果兩個(gè)節(jié)點(diǎn)之間的集群名稱不同,SeaTunnel 引擎將拒絕服務(wù)請(qǐng)求。

網(wǎng)絡(luò)

基于 Hazelcast , 一個(gè) SeaTunnel Engine 集群是由運(yùn)行 SeaTunnel Engine 服務(wù)器的集群成員組成的網(wǎng)絡(luò)。集群成員自動(dòng)加入一起形成集群。這種自動(dòng)加入是通過集群成員使用的各種發(fā)現(xiàn)機(jī)制來相互發(fā)現(xiàn)的。

請(qǐng)注意,集群形成后,集群成員之間的通信始終通過 TCP/IP 進(jìn)行,無論使用的發(fā)現(xiàn)機(jī)制如何。

SeaTunnel Engine 使用以下發(fā)現(xiàn)機(jī)制。

TCP

您可以將 SeaTunnel Engine 配置為完整的 TCP/IP 集群。有關(guān)配置詳細(xì)信息,請(qǐng)參閱 Discovering Members by TCP section。

在分離集群模式下,Master和Worker服務(wù)使用不同的端口。

Master節(jié)點(diǎn)網(wǎng)絡(luò)配置 hazelcast-Master.yaml

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節(jié)點(diǎn)網(wǎng)絡(luò)配置 hazelcast-worker.yaml

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

TCP 是我們建議在獨(dú)立 SeaTunnel Engine 集群中使用的方式。

啟動(dòng) SeaTunnel Engine Master 節(jié)點(diǎn)

可以通過守護(hù)進(jìn)程使用 -d 參數(shù)啟動(dòng)。

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

日志將寫入 $SEATUNNEL_HOME/logs/seatunnel-engine-Master.log

啟動(dòng) SeaTunnel Engine Worker 節(jié)點(diǎn)

可以通過守護(hù)進(jìn)程使用 -d 參數(shù)啟動(dòng)。

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

日志將寫入 $SEATUNNEL_HOME/logs/seatunnel-engine-worker.log

安裝 SeaTunnel Engine 客戶端

您可以通過添加 /etc/profile.d/seatunnel.sh 文件來配置 SEATUNNEL_HOME 。/etc/profile.d/seatunnel.sh 的內(nèi)容如下:

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

提交作業(yè)和管理作業(yè) 使用 SeaTunnel Engine 客戶端提交作業(yè)

安裝 SeaTunnel Engine 客戶端

設(shè)置和服務(wù)器一樣的SEATUNNEL_HOME

您可以通過添加 /etc/profile.d/seatunnel.sh 文件來配置 SEATUNNEL_HOME 。

/etc/profile.d/seatunnel.sh 的內(nèi)容如下:

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

配置 SeaTunnel Engine 客戶端

所有 SeaTunnel Engine 客戶端的配置都在 hazelcast-client.yaml 里。

cluster-name

客戶端必須與 SeaTunnel Engine 具有相同的 cluster-name。

否則,SeaTunnel Engine 將拒絕客戶端的請(qǐng)求。

network

需要將所有 SeaTunnel Engine Master節(jié)點(diǎn)的地址添加到這里。

hazelcast-client:
  cluster-name: seatunnel
  properties:
    hazelcast.logging.type: log4j2
  network:
    cluster-members:
      - master-node-1:5801
      - master-node-2:5801

提交作業(yè)和管理作業(yè)

現(xiàn)在集群部署完成了,您可以通過以下教程完成作業(yè)的提交和管理:

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

--async參數(shù)可以讓作業(yè)在后臺(tái)運(yùn)行,當(dāng)作業(yè)提交后,客戶端會(huì)退出。

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

-n--name參數(shù)可以指定作業(yè)的名稱

./bin/seatunnel.sh --config $SEATUNNEL_HOME/config/v2.batch.config.template --async -n myjob

查看作業(yè)列表

./bin/seatunnel.sh -l

該命令會(huì)輸出所有當(dāng)前集群中的作業(yè)列表(包含運(yùn)行完成的歷史作業(yè)和正在運(yùn)行的作業(yè))

查看作業(yè)狀態(tài)

./bin/seatunnel.sh -j <jobId>

該命令會(huì)輸出指定作業(yè)的狀態(tài)信息

獲取正在運(yùn)行的作業(yè)監(jiān)控信息

./bin/seatunnel.sh --get_running_job_metrics

該命令會(huì)輸出正在運(yùn)行的作業(yè)的監(jiān)控信息

獲取指定作業(yè)監(jiān)控信息

--metrics 參數(shù)可以獲取指定作業(yè)的監(jiān)控信息

./bin/seatunnel.sh --metrics <jobId>

暫停作業(yè)

./bin/seatunnel.sh -s <jobId>

該命令會(huì)暫停指定作業(yè),注意,只有開啟了checkpoint的作業(yè)才支持暫停作業(yè)(實(shí)時(shí)同步作業(yè)默認(rèn)開啟checkpoint,批處理作業(yè)默認(rèn)不開啟checkpoint需要通過在 env 中配置checkpoint.interval來開啟checkpoint)。

暫停作業(yè)是以split為最小單位的,即暫停作業(yè)后,會(huì)等待當(dāng)前正在運(yùn)行的split運(yùn)行完成后再暫停。

任務(wù)恢復(fù)后,會(huì)從暫停的split繼續(xù)運(yùn)行。

恢復(fù)作業(yè)

./bin/seatunnel.sh -r <jobId> -c $SEATUNNEL_HOME/config/v2.batch.config.template

該命令會(huì)恢復(fù)指定作業(yè),注意,只有開啟了checkpoint的作業(yè)才支持恢復(fù)作業(yè)(實(shí)時(shí)同步作業(yè)默認(rèn)開啟checkpoint,批處理作業(yè)默認(rèn)不開啟checkpoint需要通過在 env 中配置checkpoint.interval來開啟checkpoint)。

恢復(fù)作業(yè)需要指定jobId和作業(yè)的配置文件。

運(yùn)行失敗的作業(yè)和通過seatunnel.sh -s暫停的作業(yè)都可以通過該命令恢復(fù)。

取消作業(yè)

./bin/seatunnel.sh -can <jobId1> [<jobId2> <jobId3> ...]

該命令會(huì)取消指定作業(yè),取消作業(yè)后,作業(yè)會(huì)被停止,作業(yè)的狀態(tài)會(huì)變?yōu)镃ANCELED。

支持批量取消作業(yè),可以一次取消多個(gè)作業(yè)。

被cancel的作業(yè)的所有斷點(diǎn)信息都將被刪除,無法通過seatunnel.sh -r恢復(fù)。

使用 REST API 提交作業(yè)

 SeaTunnel Engine 提供了 REST API 用于提交作業(yè)。

v2版本的API使用jetty支持,與v1版本的接口規(guī)范相同 ,可以通過修改seatunnel.yaml中的配置項(xiàng)來指定端口和context-path,同時(shí)可以配置 enable-dynamic-port 開啟動(dòng)態(tài)端口(默認(rèn)從 port 開始累加),默認(rèn)為關(guān)閉, 如果enable-dynamic-port為true,將使用port和port+port-range范圍內(nèi)未使用的端口,默認(rèn)范圍是100。

seatunnel:
  engine:
    http:
      enable-http: true
      port: 8080
      enable-dynamic-port: false
      port-range: 100

同時(shí)也可以配置context-path,配置如下:

seatunnel:
  engine:
    http:
      enable-http: true
      port: 8080
      context-path: /seatunnel

其他API我已上傳Github請(qǐng)查看自取

【 Github地址:https://github.com/Mrkuhuo/data-warehouse-learning 】

【 Gitee 地址:https://gitee.com/wzylzjtn/data-warehouse-learning 】

到此這篇關(guān)于Apache SeaTunnel 集群部署詳細(xì)教程的文章就介紹到這了,更多相關(guān)Apache SeaTunnel 集群部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Linux多路轉(zhuǎn)接之select函數(shù)使用方式

    Linux多路轉(zhuǎn)接之select函數(shù)使用方式

    這篇文章主要介紹了Linux多路轉(zhuǎn)接之select函數(shù)使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • nmap掃描服務(wù)器端口(遠(yuǎn)程桌面端口)

    nmap掃描服務(wù)器端口(遠(yuǎn)程桌面端口)

    nmap是Linux下常用的端口掃描工具,它可以檢測(cè)主機(jī)是否在線,是否開啟了某個(gè)服務(wù)端口,使用了何種操作系統(tǒng)等,下面是安裝方法和使用方法
    2013-12-12
  • Linux中curl命令和wget命令的使用介紹與比較

    Linux中curl命令和wget命令的使用介紹與比較

    這篇文章主要給大家介紹了Linux中curl命令和wget命令使用以及這兩者之間的區(qū)別比較的相關(guān)資料,curl和wget命令都是Linux下的工具,可以用來下載文件。文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。
    2017-04-04
  • Linux 使用init命令實(shí)現(xiàn)關(guān)機(jī),重啟,切換模式

    Linux 使用init命令實(shí)現(xiàn)關(guān)機(jī),重啟,切換模式

    這篇文章主要介紹了Linux 使用init命令實(shí)現(xiàn)關(guān)機(jī),重啟,切換模式的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Linux中如何查看文件的創(chuàng)建時(shí)間詳解

    Linux中如何查看文件的創(chuàng)建時(shí)間詳解

    這篇文章主要給大家介紹了關(guān)于Linux中如何查看文件的創(chuàng)建時(shí)間的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Ubuntu無網(wǎng)絡(luò)標(biāo)識(shí)的問題及解決

    Ubuntu無網(wǎng)絡(luò)標(biāo)識(shí)的問題及解決

    這篇文章主要介紹了Ubuntu無網(wǎng)絡(luò)標(biāo)識(shí)的問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • LINUX中如何查看某個(gè)端口是否被占用的方法

    LINUX中如何查看某個(gè)端口是否被占用的方法

    這篇文章主要介紹了LINUX中如何查看某個(gè)端口是否被占用的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Apache中的Order Allow,Deny用法詳解

    Apache中的Order Allow,Deny用法詳解

    這篇文章主要介紹了Apache中的Order Allow,Deny用法,結(jié)合實(shí)例較為詳細(xì)的分析了Apache中Order Allow,Deny的具體作用及使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-12-12
  • Apache簡(jiǎn)介及安全配置方案

    Apache簡(jiǎn)介及安全配置方案

    Apache HTTP Server(簡(jiǎn)稱Apache)是Apache軟件基金會(huì)的一個(gè)開放源碼的網(wǎng)頁服務(wù)器,可以在大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺(tái)和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且可通過簡(jiǎn)單的API擴(kuò)展,將Perl/Python等解釋器編譯到服務(wù)器中。
    2014-08-08
  • Linux nohup實(shí)現(xiàn)后臺(tái)運(yùn)行程序及查看(nohup與&)

    Linux nohup實(shí)現(xiàn)后臺(tái)運(yùn)行程序及查看(nohup與&)

    這篇文章主要介紹了Linux nohup實(shí)現(xiàn)后臺(tái)運(yùn)行程序及查看(nohup與&),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09

最新評(píng)論