基于Docker构建Kafka集群
由于 Kafka
的注册发现是通过 Zookeeper
实现的,所以我们会从 Zookeeper 开始搭建 Kafka 集群
拉取镜像
1 | docker pull zookeeper |
Zookeeper
1 | docker run -d --restart=always --name zookeeper -p 7000:2181 --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 -v /root/docker_data/zookeeper:/data -v /root/docker_log/zookeeper:/datalog -v /etc/localtime:/etc/localtime zookeeper |
这里暴露出来的Zookeeper的连接地址为:宿主IP:7000 (后面会用到)
Kafka
下面的示例中启动2个Kafka。主要区别是 name
、p
、KAFKA_BROKER_ID
、KAFKA_ADVERTISED_LISTENERS
、KAFKA_BROKER_ID
1 | docker run -d --restart=always --name kafka0 -p 7010:9092 --env KAFKA_BROKER_ID=0 --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.111:7010 -v /root/docker_log/kafka0:/kafka/kafka-logs-1 --link zookeeper -v /etc/localtime:/etc/localtime --env KAFKA_LOG_DIRS=/kafka/kafka-logs-1 --env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka |
这里暴露了2个Kafka:
宿主机IP:7010
宿主机IP:7011
KafkaManager
安装管理界面
1 | docker run -d --name kfk-manager --restart always -p 7020:9000 --env ZK_HOSTS=192.168.1.111:7000 sheepkiller/kafka-manager |
在浏览器中,打开宿主IP(192.168.1.111):7020 就可以看到管理界面了
不过仍需要配置Zookeeper集群信息,才可以实现查看具体信息