我对某些Kafka主题有疑问,但尚未找到答案。
尽管在__confluent.support.metrics中添加更多分区应该不是问题(我知道该怎么做),但我想知道是否有可能告诉它使用本主题显然看不到的代理吗?
我也很想理解为什么这些主题仅继承某些代理,而不继承其群集中所有可用的5个代理。
我很想解决这些问题。但是我担心,如果我告诉它在经纪人上添加(或使用)分区,则该主题将无法“看到”,这可能会失效甚至破坏该主题,这将是非常糟糕的。
我如何指导这些主题,有5个可用经纪人?我可以使用其中一种Kafka工具吗?
这怎么可能首先发生?
为什么__consumer_offsets主题仅“看到” 4个代理,而不像该集群中的所有其他主题那样“看到” 5个?
仅供参考:我没有设置任何设置,但是我必须清理/重新安装正在运行的集群,并且现在卡住了,以前我从未遇到过此类问题
答案 0 :(得分:0)
发生这种情况的原因是因为__confluent.support.metrics主题只有一个分区和一个副本。在5节点集群中,这意味着您将仅使用集群中20%的可用代理,这与您发布的映像相对应。具有复制因子1和1分区的主题将只能在一个代理上保存数据。
另一方面,在__consumer_offsets主题中仅使用5个经纪人中的4个是不寻常的。我的猜测是,您的第5个代理在创建__consumer_offsets时不在线(这是您首次使用任何主题消费时创建的),因此在该代理上未创建任何分区。
但是,这可能不必担心,因为分区在整个群集中的分布通常由Kafka本身处理,而不是用户问题。本身没有“看到”经纪人这一主题的概念。相反,代理将保留主题的数据,主题将知道它们驻留在哪个代理上。主题通常不需要与其他经纪人联系。
答案 1 :(得分:0)
使用者补偿和Confluent度量标准主题在服务器属性文件中都有行项目,这些行项目确定将使用哪些配置创建这些主题。
要改善这些主题的运行状况,可以尝试进行increase the replication factor,这将使您的主题分布在更多经纪人上并提供容错能力。另请参见Kafka Tools Wiki