kafka controller脑裂(多个controller)问题

问题:
情况一:创建topic成功,但是produce的时候,却报unknown partition的错误,但zk上却显示了每个partition的leader信息;
情况二: 给某个topic增加分区,zk显示已有增加的分区信息,但是依旧报找不到新增加的分区信息错误
原因:多个controller,导致元数据不一致;

解决办法:

1. zk上找到最新的controller
2. 将其余几个过期的controller重启

原因分析:controller进行Full GC停顿时间太长超过zookeeper session timeout,导致kafka误以为controller已经挂掉,于是进行新一轮的controller选举。

                 当旧的controller重新恢复后,还在进行controller的逻辑。因此会出现多个controller的情况

原文地址:https://www.cnblogs.com/felixzh/p/11611501.html