分布式调度任务管理——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

posted @ 2020-12-25 10:48  Single_Dont  阅读(825)  评论(0编辑  收藏  举报