下线broker
背景:主动下线是指broker运行正常,因为机器需要运维(升级操作系统,添加磁盘等)而主动停止broker
分两种情况处理:
- 所有的topic的replica >= 2
此时,直接停止一个broker,会自动触发leader election操作,不过目前leader election是逐个partition进行,等待所有partition完成leader election耗时较长,这样不可服务的时间就比较长。为了缩短不可服务时间窗口,可以主动触发停止broker操作,这样可以逐个partition转移,直到所有partition完成转移,再停止broker。
root@lizhitao:/data/kafka_2.10-0.8.1# bin/kafka-run-class.sh kafka.admin.ShutdownBroker --zookeeper 192.168.2.225:2183/config/mobile/mq/mafka02 --broker #brokerId# --num.retries 3 --retry.interval.ms 60 然后shutdown broker root@lizhitao:/data/kafka_2.10-0.8.1# bin/kafka-server-stop.sh |
- 存在topic的replica=1
当存在topic的副本数小于2,只能手工把当前broker上这些topic对应的partition转移到其他broker上。当此broker上剩余的topic的replica > 2时,参照上面的处理方法继续处理。