当前位置:   article > 正文

基于docker的高可用kafka+zookeeper集群部署_zookeeper高可用集群 docker

zookeeper高可用集群 docker

提示:仅供参考,请按实际情况操作

文章目录

  • 服务配置
  • zookeeper部署安装
  • 三、kafka部署安装

服务配置

1.配置清单

虚拟机指定端口服务组件
192.168.1.101

2181,2888,3888

9091

9000

zookeeper

kafka

kafka-manager

192.168.1.102

2181,2888,3888

9092

zookeeper

kafka

192.168.1.103

2181,2888,3888

9093

zookeeper

kafka

2.组件版本

docker pull zookeeper:3.7.1

docker pull wurstmeister/kafka:2.13-2.8.1

docker pull sheepkiller/kafka-manager:latest

zookeeper部署安装

1.部署集群

在虚拟机192.168.1.101上安装zk01

  1. docker run -d --name zk01 \
  2. -p 2181:2181 \
  3. -p 2888:2888 -p 3888:3888 \
  4. -e TZ="Asia/Shanghai" \
  5. --volume /etc/localtime:/etc/localtime \
  6. --restart=always \
  7. -e ZOO_MY_ID=1 \
  8. -e ZOO_SERVERS="server.1=0.0.0.0:2888:3888;2181 server.2=192.168.1.102:2888:3888;2181 server.3=192.168.1.103:2888:3888;2181" \
  9. --volume zookeeper:/zookeeper-3.7.1 \
  10. --volume zookeeper_conf:/conf \
  11. --volume zookeeper_data:/data \
  12. --volume zookeeper_datalog:/datalog \
  13. --volume zookeeper_datalog:/logs \
  14. -h zk01 \
  15. zookeeper:3.7.1

在虚拟机192.168.1.102上安装zk02

  1. docker run -d --name zk02 \
  2. -p 2181:2181 \
  3. -e TZ="Asia/Shanghai" \
  4. -p 2888:2888 -p 3888:3888 \
  5. --volume /etc/localtime:/etc/localtime \
  6. --restart=always \
  7. -e ZOO_MY_ID=2 \
  8. -e ZOO_SERVERS="server.1=192.168.1.101:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=192.168.1.103:2888:3888;2181" \
  9. --volume zookeeper:/zookeeper-3.7.1 \
  10. --volume zookeeper_conf:/conf \
  11. --volume zookeeper_data:/data \
  12. --volume zookeeper_datalog:/datalog \
  13. --volume zookeeper_datalog:/logs \
  14. -h zk02 \
  15. zookeeper:3.7.1

在虚拟机192.168.1.103上安装zk03

  1. docker run -d --name zk03 \
  2. -p 2181:2181 \
  3. -e TZ="Asia/Shanghai" \
  4. -p 2888:2888 -p 3888:3888 \
  5. --volume /etc/localtime:/etc/localtime \
  6. --restart=always \
  7. -e ZOO_MY_ID=3 \
  8. -e ZOO_SERVERS="server.1=192.168.1.101:2888:3888;2181 server.2=192.168.1.102:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181" \
  9. --volume zookeeper:/zookeeper-3.7.1 \
  10. --volume zookeeper_conf:/conf \
  11. --volume zookeeper_data:/data \
  12. --volume zookeeper_datalog:/datalog \
  13. --volume zookeeper_datalog:/logs \
  14. -h zk03 \
  15. zookeeper:3.7.1

2.验证部署

在虚拟机192.168.1.101上验证 zk01 :

docker exec -it zk01 /bin/bash

./bin/zkServer.sh status

在虚拟机192.168.1.102上验证 zk02 :

docker exec -it zk02 /bin/bash

./bin/zkServer.sh status

在虚拟机192.168.1.103上验证 zk03 :

docker exec -it zk03 /bin/bash

./bin/zkServer.sh status

三、kafka部署安装

1.部署集群

在虚拟机192.168.1.101上安装kaka0

docker run -d --name kafka0 -p 9091:9091 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.1.101:2181,192.168.1.102:2181,192.168.1.103:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.101:9091 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9091 -t wurstmeister/kafka

在虚拟机192.168.1.102上安装kafka1

docker run -d --name kafka1 -p 9092:9092 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=192.168.1.101:2181,192.168.1.102:2181,192.168.1.103:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.102:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka

在虚拟机192.168.1.103上安装kafka2

docker run -d --name kafka2 -p 9093:9093 -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=192.168.1.101:2181,192.168.1.102:2181,192.168.1.103:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.103:9093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -t wurstmeister/kafka

2.验证部署

在虚拟机192.168.1.101上验证kaka0

进入kafka0服务设置生产者执行以下命令

docker exec -it kafka0 bash

cd opt/kafka_2.13-2.8.1/bin/

./kafka-topics.sh --create --topic chatMsg --partitions 5 --zookeeper 192.168.1.101:2181,192.168.1.102:2181,192.168.1.103:2181 --replication-factor 3

./kafka-console-producer.sh --broker-list 192.168.1.101:9091 --topic chatMsg

#出现箭头指向发送消息以下示例

>test

在虚拟机192.168.1.102上验证kaka1

进入kafka1服务设置消费者

docker exec -it kafka1 bash

cd opt/kafka_2.13-2.8.1/bin/

./kafka-console-consumer.sh --bootstrap-server 192.168.1.102:9092 --topic chatMsg

#接收到kafka0发送的消息以下示例

test

在虚拟机192.168.1.103上验证kaka2

进入kafka2服务设置消费者

docker exec -it kafka2 bash

cd opt/kafka_2.13-2.8.1/bin/

./kafka-console-consumer.sh --bootstrap-server 192.168.1.103:9093 --topic chatMsg

#接收到kafka0发送的消息以下示例

test

3.在虚拟机192.168.1.101上安装kafka-manager

docker run -it -d --name kafka-manager -p 9000:9000 -e ZK_HOSTS="192.168.1.101:2181,192.168.1.102:2181,192.168.1.103:2181"  sheepkiller/kafka-manager:latest

访问服务地址

http://192.168.1.101:9000/

页面上操作添加Kafka服务:

 点击save保存成功

点击kafkaCluster 即可查看服务详情信息

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/378515
推荐阅读
相关标签
  

闽ICP备14008679号