分布式調度任務管理——Dkron(2)運行配置


一、Dkron——服務器配置信息

dkron 的命令行操作都以dkron 開頭,后面可以跟着不同的配置信息,例如在命令行敲出以下命令 :dkron agent --server --bootstrap-expect= 1 表示dkron以代理服務器形式啟動,並且提供數據中心中預期的服務器數量為1。 其他相關配置dkron agent信息如下:

–advertise-addr String 用於向集群中其他節點進行公告的地址。缺省情況下,發布綁定地址。該值支持go-sockaddr / template格式。

–advertise-rpc-port int 默認使用rpc-port的值

–bind-addr String 指定代理應為網絡服務綁定的地址,包括內部八卦協議和RPC機制。該名稱應以IP格式指定,並且可用於輕松地將所有網絡服務綁定到同一地址。該值支持go-sockaddr / template格式。 (默認為“ {{GetPrivateIP}}:8946”)

–bootstrap-expect int 提供數據中心中預期的服務器數量。要么不提供此值,要么該值必須與集群中的其他服務器一致。如果提供了Dkron,Dkron將等待直到指定數量的服務器可用為止,然后引導群集。這樣可以自動選舉最初的領導者。該標志要求服務器模式。

–data-dir String 指定用於服務器特定數據(包括復制的日志)的目錄。默認情況下,這是頂級數據目錄,例如[/ var / lib / dkron](默認為“ dkron.data”)

–datacenter String 指定本地代理的數據中心。數據中心的所有成員應共享本地LAN連接。 (默認為“ dc1”)

–dog-statsd-addr String DataDog代理地址

–dog-statsd-tags String Datadog標簽,指定為key:value

–enable-prometheus 啟用服務普羅米修斯指標

–encrypt string 用於加密網絡流量的密鑰。必須是base64編碼的16字節密鑰
-h,–help代理幫助

–http-addr String 將 UI Web服務器綁定到的地址。僅在服務器時使用。該值支持go-sockaddr / template格式。 (默認為“:8080”)

–join String 要加入的初始代理。可以多次指定此標志

–log-level String 日志級別(調試|信息|警告|錯誤|致命|緊急)(默認為“信息”)

–mail-from String 從電子郵件地址使用

–mail-host String 用於通知的郵件服務器主機地址

–mail-password String 要使用的郵件服務器密碼

–mail-payload string 通知郵件有效載荷

–mail-port uint16 郵件服務器端口

–mail-subject-prefix String 通知郵件主題前綴(默認為“ [Dkron]”)

–mail-username String 用於身份驗證的郵件服務器用戶名

–node-name String 此節點的名稱。在集群中必須唯一(默認為“ pris.local”)

–profile String Profile用於控制使用的時序配置文件(默認為“ lan”)

–raft-multiplier int 服務器用來縮放關鍵Raft時序參數的整數乘數。省略此值或將其設置為0會使用下面介紹的默認計時。較低的值用於拉緊時序並增加靈敏度,而較高的值則用於放松時序並降低靈敏度。進行此調整會影響檢測領導者故障和執行領導者選舉所花費的時間,但代價是需要更多的網絡和CPU資源才能獲得更好的性能。默認情況下,Dkron將使用較低性能的計時,適用於最小的Dkron服務器,當前等效於將此值設置為5(此默認值可能會在將來的Dkron版本中更改,具體取決於目標最低服務器配置文件是否更改)。將此值設置為1將建議將Raft配置為其最高性能模式,以用於生產Dkron服務器。允許的最大值為10。(默認值為1)

–region String 指定Dkron代理所屬的區域。一個區域通常會映射到一個具有潛在多個區域的地理區域(例如我們),這些區域會映射到諸如us-west和us-east(默認為“ global”)之類的數據中心

–retry-interval string 兩次連接嘗試之間等待的時間。 (默認為“ 30s”)

–retry-join String 在啟用重試后開始時要加入的代理的地址。可以多次指定。

–retry-max int 最大連接嘗試次數。默認為0,它將無限期重試。

–rpc-port int 用於與客戶端通信的RPC端口。僅在服務器時使用。 RPC IP地址將與綁定地址相同(默認值為6868)

–serf-reconnect-timeout String 這是在放棄並認為它完全消失之前嘗試重新連接到故障節點的時間。在Kubernetes中,您可能需要5秒鍾左右的時間,因為沒有理由嘗試為默認的24h值重新連接。如果未收獲節點並返回具有相同ID但不同的ID,則Raft的行為也會很奇怪

–server 該節點以服務器模式運行

–statsd-addr String Statsd地址

–tag String 可以多次指定標簽,以將多個鍵/值標簽對附加到給定節點,指定為key = value

–webhook-headers String 調用webhook URL時使用的標題。 可以多次指定

–webhook-payload String 在webhook調用中發送的POST請求的正文

–webhook-url String 調用通知的Webhook URL

二、Job配置信息

成員

含義

Name

作業名稱

DisplayName

作業顯示

Schedule

調度機制

Tags

指定目標server運行job

Retries

重試執行次數

DependentJobs

所以依賴的jobs

ChildJobs

子jobs

ParentJob

父job

Executor

執行器

Concurrency

是否並行

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

job實例:

{
  "name": "job1",  //配置job名字
  "schedule": "@every 10s",
  "timezone": "Asia/Shanghai",
  "owner": "Platform Team",
  "owner_email": "platform@example.com",
  "disabled": false,        //job任務是否需要執行標記
  "tags": {
    "server": "true:1"    //指定server執行該任務
  },
  "metadata": {
    "user": "12345"
  },
  "retries":3,            //執行失敗,重試次數
  "dependent_jobs": null,   //其所從屬的job任務
  "parent_job": null,        //表示在其父任務完成后執行
  "concurrency": "allow",        //是否使用並發執行
  "executor": "shell",        //執行器配置參數
  "executor_config": {        
    "command": "echo \"-------Hello world------!\""     //執行器配置命令
  }
}

三、部分API展示

請求方式

請求連接

請求數據(body)

備注

POST

http://localhost:8080/v1/jobs

Job任務信息

創建task任務

POST

http://localhost:8080/v1/jobs/myfirst/toggle

改變任務運行狀態

DELETE

http://localhost:8080/v1/jobs/myfirst

刪除任務

 

 

 

 

 

 

 

 

分布式調度任務管理——Dkron(1)運行機制

分布式調度任務管理——Dkron(2)運行配置

分布式調度任務管理——Dkron(3)代碼結構分析及部署運行


參考鏈接:

  https://blog.csdn.net/gongdongxiang/article/details/108343785


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM