java—当使用kafka高级消费者时,有没有一种方法可以通知重新平衡?

mcvgt66p  于 2021-06-09  发布在  Kafka
关注(0)|答案(2)|浏览(297)

当使用javakafka(0.8)高级使用者时,有没有一种方法可以确定重新平衡已经发生或需要发生?
谢谢您!

8nuwlpux

8nuwlpux1#

正如塞萨尔上面提到的,没有一个干净的方法可以得到关于再平衡的通知。但是请注意,重新平衡发生在读卡器或代理连接或断开连接时,以及主题的分区数更改时。因此,您可以监视zookeeper节点,在这些节点上注册代理和读卡器。请注意,它可能是脆弱的,尽管Kafka相关的zk节点布局可能会在未来的Kafka版本中发生变化。
请参阅kafka文档中的broker node registry、consumer id registry和partition owner registry部分
此外,这不是很明显,但再平衡可能会失败,高水平的消费者可能抛出消费者平衡失败的例外。所以这也是你需要考虑的。参见Kafka再平衡的高层次概述再平衡过程。

8zzbczxx

8zzbczxx2#

Kafka会自动完成这项工作,除了监控日志之外,没有办法确定这一点。。你能做的就是

tail -f <myKafkaLogFiles> | grep rebalance

我不记得日志是否打印了“再平衡”或“再平衡”两个字,也许两个字都试一下,然后检查一下。上面的命令将只在屏幕上打印与作为grep命令参数传递的单词匹配的日志。。
希望有帮助。

相关问题