kafka-线上单机broker扩容

扩容方案

增加2个broker,复制系数直接指定为3,指定原来的单机zook
docker run -d --name kafka02 -p 9092:9092 -p 9999:9999 -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=192.168.18.225:2181 -e KAFKA_ADVERTISED_HOST_NAME=192.168.18.249 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.18.249:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -e JMX_PORT=9999 -e KAFKA_DEFAULT_REPLICATION_FACTOR=3 -e KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.18.249 -Dcom.sun.management.jmxremote.rmi.port=9999"  wurstmeister/kafka:0.11.0.0

docker run -d --name kafka03 -p 9092:9092 -p 9999:9999 -e KAFKA_BROKER_ID=3 -e KAFKA_ZOOKEEPER_CONNECT=192.168.18.225:2181 -e KAFKA_ADVERTISED_HOST_NAME=192.168.21.166 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.21.166:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -e JMX_PORT=9999 -e KAFKA_DEFAULT_REPLICATION_FACTOR=3 -e KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.21.166 -Dcom.sun.management.jmxremote.rmi.port=9999"  wurstmeister/kafka:0.11.0.0

指定zook,验证topic信息
./kafka-topics.sh --zookeeper 192.168.18.225:2181 --describe --topic vehicle_push_sudi_info

		
每个topic制作配置文件,分区信息和原来保持一致
cat add_rep.json
{"version":1,
"partitions":[{"topic":"vehicle_push_sudi_info","partition":0,"replicas":[1001,2,3]}]
}

修改topic参数
./kafka-reassign-partitions.sh --zookeeper 192.168.18.225:2181 --reassignment-json-file add_rep.json --execute

在kafka manager验证副本情况

修改生产者和消费者连接信息
192.168.18.249:9092
192.168.21.166:9092

原broker宕机测试
环境:生产者持续写入,消费者持续读取,原broker宕机,查看生产消费是否正常,分区leadeer是否转移

原broker在server配置文件里修改复制系数并重启,保证以后新的topic复制系数都是3

  

猜你喜欢

转载自www.cnblogs.com/jabbok/p/12970979.html
今日推荐