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的情况
欢迎关注微信公众号:大数据从业者