kafka入门之broker-集群管理

依赖于zookeeper,broker向zk中注册的信息以json格式保存,其中包括:

1.listener_security_protocol_map:此值指定了该broker与外界通信所用的安全协议类型

2.endpoints:指定broker的服务endpoint列表,每个endpoint指明了传输协议类型,broker主机名和端口信息。

3.rack:指定broker机架信息。若设置了机架信息,kafka在分配副本时会考虑把某个分区的多个副本分配在多个机架上,这样即使某个机架上的broker全部崩溃,也能保证其他机架上的副本可以正常工作

4.jmx_port:broker的JMX监控端口。需要在启动broker前设置JMX_PORT环境变量。设置JMX端口后各种支持JMX的监控框架(如zabbix)才可以实时获取kafka提供的各种broker端监控指标。

5.host:broker主机名或ip地址。

6.port:broker服务端口号

7.timestamp:broker启动时间。

8.version:broker当前版本号

临时节点,kafka利用zk临时节点来管理broker生命周期。broker启动时在zookeeper中创建对应的临时节点,同时还会创建一个监听器坚挺该临时节点的状态;一旦broker启动后,监听器会自动同步整个集群信息到该broker上;而一旦该broker崩溃,它与zookeeper的会话就会失效,导致临时节点被删除,监听器触发,然后处理broker崩溃的后续事宜。这就是Kafka管理集群及其成员的主要流程。

猜你喜欢

转载自www.cnblogs.com/lccsblog/p/11212009.html