我的集群默认开启kafka机架感知吗?如果我用broker.rack配置一些brokers,让其他没有broker.rack的brokers,kafka机架感知会影响我的集群吗?
发布于 2020-01-07 18:01:08
以下是我经过研究后得到的答案:
当您使用broker.rack配置某些brokers,而让其他brokers不使用broker.rack时,手动主题创建将失败并生成错误(自动主题创建忽略机架信息)。
要解决此问题,请执行以下操作:
选项1:将属性broker.rack=null放在所有代理上。
选项2:编辑缺少的所有代理上的属性broker.rack,将显示机架的id。
选项3主题:将属性--disable-rack-aware添加到kafka-命令中。
有关机架感知的更多详细信息,请访问kafka confluent documentation
发布于 2020-01-07 03:38:41
broker.rack的默认值为null。因此,如果您为某些代理定义了broker.rack,那么Kafka将有两个复制赋值选项(your_rack_id和null)。
发布于 2020-01-07 17:20:09
至于你的问题,它不会影响你的Kafka集群。
每个代理都有自己的配置文件。因此,如果您在一个代理上而不是在另一个代理上添加broker.rack配置,则不会对集群造成任何损害。但对于最佳实践,如果您想要有一个容错系统,并且您的数据不应该从不同代理上的其他领导者分区丢失,那么您必须在所有代理上应用配置。
有关机架感知和复制的更多信息,请参阅Kafka文档:https://kafka.apache.org/documentation/#basic_ops_racks
https://stackoverflow.com/questions/59593362
复制相似问题