主动下线是指broker运行正常,因为机器需要运维(升级操作系统,添加磁盘等)而主动停止broker。
分两种情况处理:
此broker上所有的topic的replica >= 2
此时,直接停止一个broker,会自动触发leader election操作,不过目前leader election是逐个partition进行,等待所有partition完成leader election耗时较长,这样不可服务的时间就比较长。
为了缩短不可服务时间窗口,可以主动触发停止broker操作,这样可以逐个partition转移,直到所有partition完成转移,再停止broker。
|
|
然后shutdown broker
|
|
此broker上存在topic的replica=1
当存在topic的副本数小于2,只能手工把当前broker上这些topic对应的partition转移到其他broker上。当此broker上剩余的topic的replica > 2时,参照上面的处理方法继续处理。
对kafka进行reassign,可以参考http://wzktravel.github.io/2015/12/31/kafka-reassign/。