内容纲要
概要描述
一个Kafka集群中同时只会有一个Controller,可以在TDH客户端的ZooKeeper中查询当前Controller所在节点。
详细说明
可以进入ZooKeeper客户端后,查看Kafka集群当前Controller节点。
- 参照如下KB准备TDH客户端(TDH Client)环境:
https://nj.transwarp.cn:8180/?p=1105 - 进入TDH-Client/zookeeper/bin目录,运行 zookeeper-client 登录ZooKeeper CLI:
[root@bryan1 bin]# pwd /home/Bryan/TDH-Client/zookeeper/bin [root@bryan1 bin]# ./zookeeper-client Connecting to localhost:2181 log4j:WARN No appenders could be found for logger (org.apache.zookeeper.ZooKeeper). log4j:WARN Please initialize the log4j system properly. Welcome to ZooKeeper! JLine support is enabled WATCHER:: WatchedEvent state:SyncConnected type:None path:null [zk: localhost:2181(CONNECTED) 0]
- 在ZooKeeper CLI界面下,输入 get /controller 命令获取当前Controller信息:
[zk: localhost:2181(CONNECTED) 2] get /controller {"version":1,"brokerid":5,"timestamp":"1548580409165"} cZxid = 0x4000001b2 ctime = Sun Jan 27 17:13:29 CST 2019 mZxid = 0x4000001b2 mtime = Sun Jan 27 17:13:29 CST 2019 pZxid = 0x4000001b2 cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0xd688e93b26f0038 dataLength = 54 numChildren = 0 //关键字:"brokerid":5表示Broker ID为5
- 根据第3步获取到的Broker ID信息,输入命令 get /brokers/ids/ID值 获得对应Controller节点的信息:
[zk: localhost:2181(CONNECTED) 8] get /brokers/ids/5 {"listener_security_protocol_map":{"PLAINTEXT":"PLAINTEXT"},"endpoints":["PLAINTEXT://tdh500-174:9092"],"jmx_port":9999,"host":"t...... //关键字["PLAINTEXT://tdh500-174:9092"],表示tdh500-174即为当前Controller节点。
如上所示,tdh500-174就是当前Controller节点。