Apache kafka 如何从命令行获取默认的Kafka配置全局和每个主题?

Apache kafka 如何从命令行获取默认的Kafka配置全局和每个主题?,apache-kafka,Apache Kafka,如何从命令行或其他方式获取默认Kafka配置全局和每个主题 我知道默认值在上可用,并且您可以使用descripe获得每个主题的“覆盖”,但是如果我对主题级配置进行了许多更改,则最好获得所有值,包括每个主题的覆盖 $KAFKA_HOME/bin/kafka-topics.sh --zookeeper $ZK --describe --topic test-topic $KAFKA_HOME/bin/kafka-configs.sh --zookeeper $ZK --describe --enti

如何从命令行或其他方式获取默认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
仅供参考,我刚刚开始使用卡夫卡v0.9.0.1


显然,存在一个,所以我想没有解决方案。

使用此命令,您可以获得有关网络上所有主题列表的信息

bin/kafka-topics.sh --list --zookeeper localhost:2181
对于每个主题,您都可以通过以下方式获得信息:

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
从:

下面是对输出的解释。第一行概述了 所有的分区,每一个额外的行给出一个分区的信息 隔断因为这个主题只有一个分区,所以 只有一行

  • “leader”是负责给定分区的所有读写操作的节点。每个节点都将是随机选择的节点的引线 分区的一部分
  • “副本”是复制此分区的日志的节点列表,而不管它们是领导者还是领导者 他们现在还活着
  • “isr”是一组“同步”副本。这是副本列表的子集,该列表当前处于活动状态,并赶上了领导者

至少对于较新版本的Kafka,您还可以通过以下命令查询特定于主题的属性:

bin/kafka-configs.sh --describe --zookeeper localhost:2181 --entity-type topics --entity-name test
自Kafka 2.5.0(请参阅)以来,您现在可以使用
--all
选项查看所有(默认和覆盖)主题配置:

% kafka-configs --bootstrap-server <KAFKA_SERVERS> --entity-type topics --entity-name <TOPIC_NAME> --describe --all
All configs for topic <TOPIC_NAME> are:
  compression.type=producer sensitive=false synonyms={}
  message.format.version=1.0-IV0 sensitive=false synonyms={}
  file.delete.delay.ms=60000 sensitive=false synonyms={}
  leader.replication.throttled.replicas= sensitive=false synonyms={}
  max.message.bytes=1000012 sensitive=false synonyms={}
  min.compaction.lag.ms=0 sensitive=false synonyms={}
  message.timestamp.type=CreateTime sensitive=false synonyms={}
  min.insync.replicas=1 sensitive=false synonyms={}
  segment.jitter.ms=0 sensitive=false synonyms={}
  preallocate=false sensitive=false synonyms={}
  index.interval.bytes=4096 sensitive=false synonyms={}
  min.cleanable.dirty.ratio=0.5 sensitive=false synonyms={}
  unclean.leader.election.enable=false sensitive=false synonyms={}
  retention.bytes=-1 sensitive=false synonyms={}
  delete.retention.ms=86400000 sensitive=false synonyms={}
  cleanup.policy=delete sensitive=false synonyms={}
  flush.ms=1000 sensitive=false synonyms={}
  follower.replication.throttled.replicas= sensitive=false synonyms={}
  segment.bytes=1073741824 sensitive=false synonyms={}
  retention.ms=172800000 sensitive=false synonyms={}
  segment.ms=604800000 sensitive=false synonyms={}
  message.timestamp.difference.max.ms=9223372036854775807 sensitive=false synonyms={}
  flush.messages=10000 sensitive=false synonyms={}
  segment.index.bytes=10485760 sensitive=false synonyms={}
%kafka配置--引导服务器--实体类型主题--实体名称--描述--全部
主题的所有配置为:
compression.type=producer-sensitive=false同义词={}
message.format.version=1.0-IV0 sensitive=false同义词={}
file.delete.delay.ms=60000 sensitive=false同义词={}
leader.replication.throttled.replicas=sensitive=false同义词={}
max.message.bytes=1000012敏感=false同义词={}
min.compression.lag.ms=0敏感=false同义词={}
message.timestamp.type=CreateTime-sensitive=false同义词={}
min.insync.replicas=1敏感=false同义词={}
segment.jitter.ms=0 sensitive=false同义词={}
预分配=假敏感=假同义词={}
index.interval.bytes=4096 sensitive=false同义词={}
min.cleanable.dirty.ratio=0.5 sensitive=false同义词={}
unclean.leader.election.enable=false-sensitive=false同义词={}
retention.bytes=-1 sensitive=false同义词={}
delete.retention.ms=86400000 sensitive=false同义词={}
cleanup.policy=delete sensitive=false同义词={}
flush.ms=1000 sensitive=false同义词={}
follower.replication.throttled.replicas=sensitive=false同义词={}
segment.bytes=1073741824 sensitive=false同义词={}
retention.ms=17280000 sensitive=false同义词={}
segment.ms=604800000 sensitive=false同义词={}
message.timestamp.difference.max.ms=9223372036854775807 sensitive=false同义词={}
flush.messages=10000 sensitive=false同义词={}
segment.index.bytes=10485760 sensitive=false同义词={}
正如您在中所看到的,您也可以(至少)对代理配置使用此选项


还请注意,此选项目前不存在于卡夫卡主题中。CLI.

,正如我提到的,我们知道仅获取全局设置,然后分别获取特定主题覆盖设置。我试图找到的是另一个简单的选项,即按主题获取所有这些内容(使用主题覆盖),而不是我们手动计算,尤其是在有许多覆盖的情况下。我还试图找到一种获取所有全局设置的命令行方法吗?或者无法获取主题的特定配置值?猜猜看,如果您确实想触摸配置,解决方案是检查~/kafka/config/server.properties中的全局设置,然后更新配置:`>bin/kafka-topics.sh--zookeer zk_host:port/chroot--alter--topic my_topic_name--Config x=y`然后删除主题配置:`>bin/kafka-topics.sh--zookeer zk_host:port/chroot--alter--topic my_topic name--deleteConfig x`,如Yep中所述,从我的问题描述中可以看出,自v0.9以来,它没有改变。无法一次获取一个主题的所有属性,您必须先获取全局属性,然后获取主题属性,然后一起查看它们:(当使用--bootstrap server参数而不是--zookeeper参数时,这似乎不起作用。它表示“无效的实体类型主题”(Confluent Platform 5.4.1上的Kafka 2.4.0)