Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

1.2_深入Worker

elevenqq edited this page Sep 29, 2018 · 2 revisions

功能简介

Coordination & ExecutingTask

Worker最核心的两大功能:参与集群的Coordination和对Task进行生命周期的管理,主要包括:

  • 和Manager的GroupCoordinator进行Reblance交互
  • 和Manager维持心跳(保持session)
  • 接收Manager指令,重启Task
  • 监控t_dl_task配置表,扫描到Task新增和删除时,发起Reblance
  • 监控t_dl_task配置表,扫描到Task-TargetState发生变化时,Pause或Resume Task
  • 监控t_dl_task配置表,扫描到Task配置参数发生变更时,自动重启Task

Probe

Worker内部运行了一系列的Probe,用于采集Task和Worker的各项运行指标,方便监控和统计,主要包括:

  • Task延迟时间
  • Task异常
  • Task的其它常规指标:每分钟同步的数据量,每分钟同步的流量,单条记录的写入速度,每分钟的读写交互次数等
  • Worker的各种运行指标:Jvm内存、GC次数、GC时间、网卡流量、CPU-load和使用率等

Rest

Worker内嵌了Jetty,用于提供Rest服务,这些服务的调用者,主要是Manager,如:重启Task服务、重启Worker、取元数据信息等。

BootMode

Worker支持两种启动方式:standalone和distributed,前者启动时只依赖于数据库,后者启动时需要同时依赖数据库、datalink-manager和zookeeper。

参数说明

下面对Worker的主要参数进行说明:

参数名称 参数描述
bootstrap.servers Reblance时需要的manager的ip/port列表。
格式:[ip:port,ip:port],其中port是manager.properties中指定的port
task.shutdown.graceful.timeout.ms Task优雅关闭的超时时间。
Worker在触发了Task的stopping后,会阻塞等待,直至触发该参数指定的超时时间,超时后,把Task设置成cancel状态
task.position.commit.interval.ms Task消费位点的commit间隔。
Worker内置了位点管理器——TaskPositionManager供Task选用,设计时为了性能的考虑,位点信息并不是实时提交,而是定时提交,该参数用来设置定时提交的时间间隔,默认为1s
rest.host.name 提供rest服务的主机名称
rest.port 提供rest服务的端口
group.id Worker所属Group的id
session.timeout.ms Worker和Manager的会话超时时间
该参数值必须在manager设定的区间范围之内,区间范围:[ group.min.session.timeout.ms,group.max.session.timeout.ms]
heartbeat.interval.ms Worker和Manager的心跳频率
heartbeat用于维持Manager和Worker之间的session,该参数值必须小于session.timeout.ms,并且建议不要大于session.timeout.ms的1/3
rebalance.timeout.ms Worker和Manager进行Rebalance时Join阶段的超时时间
每个Worker可以设置不同的值,manager会选用最大的那个值(以Group为单位)
zookeeper.root datalink在zk上注册的根节点名称,默认为datalink,可自定义更改
zookeeper.servers zk集群地址,格式:ip:port,ip:port,...
zookeeper.session.timeout.ms zk会话超时时间
Task的运行状态会注册到zk上,并且依赖状态节点保证task的互斥,所以建议【和zk的会话超时时间要大于【和manager的超时时间
zookeeper.connection.timeout.ms zk连接超时时间
classloader.type 插件使用的classloader类型
开发环境使用Dev;发布环境使用Rel;还有一个选项是Inherit,直接使用框架层的classloader,用的比较少
worker.bootMode Worker的运行模式
standalone,单机模式,依赖DB;distributed,分布式模式,依赖DB、ZK和Manager;
worker.probe.blackList Probe黑名单
名单内的probe不会被启动,配置时多个probe用逗号分隔

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /