我有一组2个Kafka经纪人和一个复制因子2的主题。如果其中一个经纪人死了,我的生产者能否继续向这个降级的1个节点集群发送新消息?或复制因子2需要2个活动节点,而messaged将被拒绝?
答案 0 :(得分:6)
这取决于几个因素:
所以基本上你的制作人可能暂停一段时间,直到更多的节点出现。
答案 1 :(得分:4)
如果没有,将不会忽略消息。活动代理的数量小于配置的副本数量。每当新的Kafka代理加入集群时,数据就会被复制到该节点。
您可以通过将复制因子配置为3或更多来重现此方案,并且只启动一个代理。
答案 2 :(得分:0)
新节点加入kafka群集后,数据将被复制,副本因素不会影响发布者消息
答案 3 :(得分:0)
复制因子2并不需要2个实时代理,它在一个代理关闭时发布消息取决于那些配置 - 确认 - min.insync.replicas
检查上面提到的那些配置@Javier
答案 4 :(得分:0)
Kafka将为生产者和消费者分配重新分配的分区,这些分区在处理丢失的分区时会遇到问题,但是对于新主题会产生问题。
您可以启动一个复制因子为2或3的代理。它确实起作用。但是,只有在集群中具有足够数量的代理之后,才能使用该复制因子创建主题。无论是在第一条消息上自动生成主题还是手动创建主题,kafka都会引发错误。
Error while executing topic command : Replication factor: 3 larger than available brokers: 1.
[2018-08-08 15:23:18,339] ERROR org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 1.