【问题标题】:what is the kafka command that print the kafka machines names that equivalent to brokers id's numbers打印相当于经纪人 id 号码的 kafka 机器名称的 kafka 命令是什么
【发布时间】:2021-06-23 00:56:09
【问题描述】:

我们正在使用 Kafka version - 2.7.1。集群包括 5 台 Linux 上的 Kafka 机器 RHEL 7.6 版本

为了找到brokers ids号,我们可以如下询问zookeeper服务器

/usr/bin/zookeeper-shell  ZOO_SERVER:2181 <<< "ls /brokers/ids"
Connecting to ZOO_SERVER:2181
Welcome to ZooKeeper!
JLine support is disabled

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[1001, 1002, 1003, 1004, 1005]

所以我们从上面知道经纪人 ID 是 - 1001、1002、1003、1004、1005

我现在想问的问题:

如何知道相当于 broker id 编号的 Kafka 机器名称?

我知道 kafka01 是 broker id 1001 , kafka02 是 broker id 1002 ,以此类推,我们可以从 meta.properties 哪个 broker 上的文件中验证!

例子

more meta.properties
#
#Mon Jun 21 10:41:58 UTC 2021
cluster.id=SZtPtVDBS1eTZsPRwhmnpg
version=0
broker.id=1004

** 但我们不想对每个 Kafka broker/s ( kafka01-05 ) 执行 ssh 连接并验证文件 meta.properties

所以我想知道我们是否可以使用一些 Kafka cli 来准确显示与brokers id's 相关的Kafka names

例如,预期的结果(以下只是我们想要得到的示例)

1001 --> kafka01
1002 --> kafka02
1003 --> kafka03
1004 --> kafka04
1004 --> kafka04

【问题讨论】:

    标签: linux apache-kafka


    【解决方案1】:

    可以通过以下zookeeper命令获取端点名称

    zookeeper-shell.sh [ZK_IP] get /brokers/ids/1001
    

    关于您的其他问题 通过两次调用zookeeper-shell.sh,我们可以直接得到作为活动控制器的broker name,而不是broker id。

    zookeeper-shell.sh [ZK_IP] get /brokers/ids/$(zookeeper-shell.sh [ZK_IP] get /controller|tail -1|jq .brokerid)|tail -1|jq .endpoints[]
    

    【讨论】:

      猜你喜欢
      • 2013-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-15
      • 2017-07-05
      • 2019-01-11
      • 1970-01-01
      相关资源
      最近更新 更多