如何知道java中kafka代理的状态?

von4xj4u  于 2021-06-08  发布在  Kafka
关注(0)|答案(3)|浏览(398)

我正在开发ApacheStorm,它有一个Topogy主类。此拓扑包含kafkaspout,它通过kafka代理侦听kafka主题。现在,在我提交这个拓扑之前,我想确定具有这个主题的kafka代理的状态。但我没有找到任何办法?Kafka经纪人的身份是如何从《暴风雪》中得知的?请帮忙。。。

nr7wwzry

nr7wwzry1#

取决于你想要什么样的状态,在大多数情况下,你实际上会从zookeeper检索到这个。在zookeeper中,您可以看到注册的代理、主题和其他有用的东西,它们可能是您正在寻找的。
另一个解决方案是部署一个小型的常规使用者,它可以为您执行这些检查。

6jygbczu

6jygbczu2#

如果您只是想快速知道它是否正在运行,您可以使用相同的配置再次运行start命令:
bin/kafka-server-start.sh配置/server.properties
如果它正在运行,那么您应该会得到一个关于已经在使用的端口的异常。
不是万无一失的,所以最好使用上面提到的zookeeper:
我个人使用intellij,它有一个zookeeper插件,可以帮助你浏览其中运行的代理/主题。对于eclipse或其他ide可能有类似的情况。
(intellij)转到“文件”>“设置”>“在搜索中键入zookeeper”,然后安装并单击“确定”(可能需要重新启动)转到“文件”>“设置”>“在搜索中键入zookeeper”。单击启用,然后输入zookeeper服务器运行的地址并应用更改(注意:您可能还需要检查端口是否正确)
现在,您应该将zookeeper服务器看作ide左侧的一个选项卡。这应该显示你的经纪人和主题,消费者等
希望有帮助!

k7fdbhmy

k7fdbhmy3#

如果您已经配置了storm ui,那么应该会提供有关正在运行的集群的简要信息,包括当前正在运行的拓扑、可用的空闲插槽、管理器信息等信息。
通过编程,您可以编写一个thrift客户机来从storm集群检索这些信息。您可以选择几乎任何语言来开发自己的客户机。查看本文以供进一步参考

相关问题