Details
Description
I have created a tool similar to the broker shutdown tool for doing rolling restarts of Kafka clusters.
The tool watches the max replica lag of the specified broker, and waits until the lag drops to 0 before exiting.
To do a rolling restart, here's the process we use:
for (broker <- brokers) {
run shutdown tool for broker
terminate broker
start new broker
run wait for replication tool on new broker
}
Here's an example command line use:
./kafka-run-class.sh kafka.admin.WaitForReplication --zookeeper zk.host.com:2181 --num.retries 100 --retry.interval.ms 60000 --broker 0