Skip to content

1.1_深入Manager

lulu2panpan edited this page Dec 28, 2019 · 5 revisions

功能简介

和大部分分布式系统一样(如:Hbase,Hdfs),Manager是DataLink集群正常运行的必要条件,其担负的主要功能如下:

Coordination

整个Datalink集群的【负载均衡】都需要依赖于Manager提供的GroupCoordinator,这也是Manager最核心的功能。

Monitor

Manager端运行了数个Monitor,用来对集群进行立体化的监控,主要监控指标有:

  • 同步延迟监控报警
  • 同步异常监控报警
  • 任务运行状态监控报警
  • 机器运行状态监控报警
  • 机器内存监控报警
  • 机器系统监控

Admin

Manager提供了web模块,用于对整个集群进行管理,主要的管理模块有:

  • 集群管理:主要对分组和机器进行管理
  • 介质管理:主要对各种类型的数据源进行配置管理
  • 增量任务:主要对实时增量数据同步任务进行管理
  • 全量任务:主要对离线全量数据同步任务进行管理
  • 监控管理:主要进行监控指标配置和监控数据展现
    此外Manager内部还实现了一些定时任务,对集群进行一些自动化运维的工作

Service

Manager提供了若干HTTP接口用来为外提供服务,这些服务的调用者主要分两类:

  • Worker:Worker和Manager之间非Reblance类型的通信,走的都是http通道
  • 外部系统:外部系统如果需要访问datalink集群,都是通过调用Manager的服务接口实现的

高可用(HA)

  • manager的高可用目前采用的是主备模式,通过抢占zk节点实现,具体实现逻辑可参见:com.ucar.datalink.manager.core.server.ServerStatusMonitor
  • startup.sh中还实现了宕机自检功能,通过linux的cron机制实现,当出现manager进程意外终止时,可以实现自动重启
  • 对于http请求,Manager还提供了路由转发功能,当我们请求standby-manager时,请求会被转发到active-manager
    zk-manager

参数说明

下面对manager.properties的主要运行参数进行介绍

参数名称 参数描述
host.name 主机名称
port 提供的Reblance通信端口
http.port 提供的Http服务端口
zookeeper.servers zk集群地址,格式:ip:port,ip:port,...
zookeeper.session.timeout.ms zk会话超时时间
zookeeper.connection.timeout.ms zk连接超时时间
zookeeper.root datalink在zk上注册的根节点名称,默认为datalink,可自定义更改
group.min.session.timeout.ms Manager和Worker的会话超时时间,可配置的下限值,worker传给manager的值必须大于这个下限值
group.max.session.timeout.ms Manager和Worker的会话超时时间,可配置的上限值,worker传给manager的值必须小于这个上限值