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