kafkaで接続された消費者のリストを取得するには?コンシューマーがブローカーに接続されているので、ZkClient/ZkUtilsのようなJavaユーティリティーがKafka 0.9.0.xの接続されたコンシューマーのリストを取得していますか?我々は、ユーティリティの下に使用してブローカーのリストを取得するために使用するように:特定の消費者がJavaを使用してカフカ0.9.0.xに接続しているかどうかをチェックする方法は?
ZkClient zkClient = new ZkClient(endpoint.getZookeeperConnect(), 60000);
if(zkClient!=null){
List<String> brokerIds = zkClient.getChildren(ZkUtils.BrokerIdsPath());
if(CollectionUtils.isNotEmpty(brokerIds) && brokerIds.contains(brokerId)){
logger.debug("Broker:{{}} is connected to Zookeeper.",brokerId);
flag = true;
}
else{
logger.error("ERROR:Broker:{{}} is not connected to Zookeeper.",brokerId);
}
zkClient.close();
}
私はMavenのからJavaのlibの下でカフカの0.9.0.xを使用しています:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId>
<version>0.9.0.1</version>
</dependency>
更新日:
私は 'kafka-console-consumer.bat'を開き、一度それを実行してからcmdプロンプトを越えました。それから、「zookeeper-shell.bat」とls /コンシューマと表示されましたが、プログラムされたコンシューマは表示されません。 zkClient.getChildren(ZkUtils.ConsumersPath())
を使用して表示されるようになりました。
ありがとう、ちょうど私が実行消費者のリストを取得する必要があった。これは "AdminClient" + "listAllConsumerGroupsFlattened()"メソッドを使用して達成されました。ものはまだkafakに隠されています。 – usman