【问题标题】:How to retrieve zookeeper host details from Kafka brokerslist如何从 Kafka brokerslist 中检索 zookeeper 主机详细信息
【发布时间】:2019-02-13 11:47:15
【问题描述】:

我有我的 Kafka 集群的代理列表。如何使用 Brokerslist 获取 zookeeper 主机?

【问题讨论】:

    标签: apache-kafka apache-zookeeper


    【解决方案1】:

    如果我的问题正确,您想在 zookeeper 集群中注册您的代理。这实际上是反过来的:你必须告诉每个代理你的动物园管理员服务器(或集群)可以在哪里找到。查看代理配置设置zookeeper.connect。连同broker.id,它将在zookeeper集群中注册每个代理。

    例子:

    broker.id=1
    zookeeper.connect=zk-host-1:2181,zk-host-2:2181,zk-host-3:2181
    

    希望能回答你的问题。

    【讨论】:

    • 我的要求是我有brokerslist。需要为这些代理找到 zookeeper 主机详细信息。尝试使用以下代码,但它显示的是代理主机,而不是动物园管理员的。
    • 属性 props = new Properties(); props.put(CommonClientConfigs.BOOTSTRAP_SERVERS_CONFIG, this.brokerList); AdminClient adminClient = AdminClient.create(props); System.out.println("经纪人--->"+adminClient.bootstrapBrokers()); scala.collection.immutable.List brokerNodeList = adminClient.bootstrapBrokers();迭代器 迭代器 = brokerNodeList.iterator(); while (iterator.hasNext()) { 节点 nd = iterator.next(); System.out.println(nd.id()); System.out.println(nd.host()); }
    【解决方案2】:

    你不能。

    Zookeeper 旨在被抽象出来。没有这样的 API 或方法可以让 Zookeeper 连接到代理。

    您需要通过 SSH 连接到该列表中的代理(您可以通过 Java 进行操作}

    【讨论】:

    • 是的@cricket_007,你是对的。翻遍所有源码,没有这样的API来获取基于Brokerlist的Zookeeper主机。
    猜你喜欢
    • 1970-01-01
    • 2018-12-21
    • 2018-07-19
    • 1970-01-01
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 1970-01-01
    相关资源
    最近更新 更多