如何从命令行或其他方式获取默认的kafka配置全局和每个主题?
我知道默认值在代理配置上可用,您可以使用descripe获得每个主题的“覆盖”,但是如果我对主题级配置做了很多更改,那么最好获得所有值,包括每个主题的覆盖。
$KAFKA_HOME/bin/kafka-topics.sh --zookeeper $ZK --describe --topic test-topic
$KAFKA_HOME/bin/kafka-configs.sh --zookeeper $ZK --describe --entity-name test-topic --entity-type topics
仅供参考,我刚刚开始使用Kafkav0.9.0.1。
显然,有人在讨论为什么这是不可能的,所以我想没有解决办法。
3条答案
按热度按时间zpgglvta1#
自Kafka2.5.0(见https://issues.apache.org/jira/browse/kafka-9040),您现在可以使用
--all
查看所有(默认和覆盖)主题配置的选项:正如您在pr中看到的,您也可以(至少)对broker config使用此选项。
另请注意,此选项当前在中不存在
kafka-topics
客户端。8e2ybdfx2#
您可以使用此命令获取有关网络上所有主题列表的信息
对于每个主题,您都可以通过以下方式获得信息:
Kafka文献:
下面是对输出的解释。第一行给出了所有分区的摘要,每一行提供了关于一个分区的信息。因为这个主题只有一个分区,所以只有一行。
“leader”是负责给定分区的所有读写操作的节点。每个节点将是随机选择的分区部分的领导者。
“replicas”是复制此分区的日志的节点列表,而不管它们是领导者还是当前处于活动状态。
“isr”是一组“同步”副本。这是副本列表的子集,该列表当前处于活动状态,并已被领导者捕获。
qni6mghb3#
至少对于较新版本的kafka,您还可以通过以下命令查询特定于主题的属性: