unset BROKERS
for i in $BROKERIDS
do
DETAIL=$(/usr/hdp/current/kafka-broker/bin/zookeeper-shell.sh ${ZKADDR} <<< "get /brokers/ids/$i")
[[ $DETAIL =~ PLAINTEXT:\/\/(.*?)\"\] ]]
if [ -z ${BROKERS+x} ]; then BROKERS=${BASH_REMATCH[1]}; else
BROKERS="${BROKERS},${BASH_REMATCH[1]}"; fi
done
echo "Found Brokerlist: $BROKERS"
从这里,您可以使用各种命令了解代理的详细信息:
$ ls /brokers/ids `# Gives the list of active brokers` $ ls /brokers/topics `#Gives the list of topics` $ get /brokers/ids/0 `#Gives more detailed information of the broker id '0'`
9条答案
按热度按时间7uzetpgm1#
如果您使用的是新版本的Kafka,例如5.3.3,您可以使用
你只需要通过一个经纪人
bqf10yzr2#
使用confluent的rest代理api v3:
哪里
localhost:8082
是Kafka的代理地址。disbfnqx3#
我是这样做的
c86crjj04#
此命令将为您提供括号中活动代理的列表:
wkftcu5l5#
下面是我在bash脚本kafka数据加载到演示环境中时使用的几个快速函数。在本例中,我使用的hdp没有任何安全性,但是它很容易被修改为其他环境,目的是快速和功能性,而不是特别健壮。
第一个从配置中检索第一个zookeeper节点的地址:
第二个从zookeeper检索代理ID:
第三个再次解析zookeeper以检索kafka代理的列表host:port ready 用于命令行客户端:
nbysray56#
在macos上,可以尝试:
rslzwgfq7#
要在shell脚本中使用zookeeper命令,请尝试
zookeeper/bin/zkcli.sh-服务器localhost:2181 <<“ls/brokers/ids”|尾部-n 1。最后一行通常有响应细节
slhcrj9b8#
(将localhost替换为运行zookeeper的主机)
zbq4xfa09#
使用zk客户端的替代方法:
如果您不喜欢将参数传递给
./zookeeper-shell.sh
要从zookeeper cli中查看代理的详细信息,需要安装独立的zookeeper(因为传统的kafka没有jline jar)。安装(解压缩)独立zookeeper后,请执行以下操作:
运行zookeeper cli:
$ zookeeper/bin/zkCli.sh -server localhost:2181
#Make sure your Broker is already running
如果成功,您可以看到zk客户机运行为:WATCHER::
```WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0]