基于docker搭建kafka集群

以下命令一定要注意某些位置,是需要写自己的电脑ip地址,盲目的复制粘贴会报错!!

1.kafka依赖于zookeeper(传送门zookeeper与Kafka的关系 - AnswerThe - 博客园),所以需要拉取kafka和zookeeper镜像。

 
  1. docker pull wurstmeister/kafka

  2. docker pull wurstmeister/zookeeper

 2.启动zookeeper容器(wurstmeister/zookeeper镜像拥有默认命令“/usr/sbin/sshd && bash /usr/bin/start-zk.sh”,所以只需启动一个守护式容器即可)

docker run --name zookeeper -p 12181:2181 -d wurstmeister/zookeeper:latest

3.启动三个kafka容器

 
  1. docker run -p 19092:9092 --name kafka1 -d -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=宿主机IP:12181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://宿主机IP:19092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka:latest

  2. docker run -p 19093:9093 --name kafka2 -d -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=宿主机IP:12181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://宿主机IP:19093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 wurstmeister/kafka:latest

  3. docker run -p 19094:9094 --name kafka3 -d -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=宿主机IP:12181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://宿主机IP:19094 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9094 wurstmeister/kafka:latest

4.分别进入容器kafka1、kafka2、kafka3创建主题test1、test2、test3。下面以kafka3为例。

 
  1. cd /opt/kafka_2.13-2.8.1/bin #路径不一定是这个名字kafka_2.13-2.8.1,但大致路径是在这里

  2. #在守护式容器中启动一个交互式进程

  3. docker exec -i -t kafka3 /bin/bash

  4. #创建主题test3

  5. ./kafka-topics.sh --zookeeper 192.168.1.159:2181 --create --topic test3 --replication-factor 1 --partitions 3

  6. # Created topic "test3"

  7. #查看主题test3

  8. ./kafka-topics.sh --zookeeper 192.168.1.159:12181 --describe --topic test3

 可以看到,已经是集群环境,可以看到leader机器、副本在分区上的保存情况,和ISR列表成员

5.测试集群,在kafka3上向test1发送消息,在kafka2上消费test1

创造消息

./kafka-console-producer.sh --broker-list 192.168.1.159:19092,192.168.1.159:19093,192.168.1.159:19094 --topic test1

 消费消息

./kafka-console-consumer.sh --bootstrap-server 192.168.1.159:19092,192.168.1.159:19093,192.168.1.159:19094 --topic test1 --from-beginning

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wy971744839

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值