基于docker环境搭建kafka集群(单机版)

1.Docker下查看是否有kafka的镜像

  1 docker images |grep kafka
2.拉取kafka镜像(如果没有kafka的镜像)
2.1.拉取zookeeper镜像

            在Linux下查看是否有zookeeper的镜像
  1 docker images | grep zookeeper
              如果没有 zookeeper 镜像,则拉去zookeeper镜像
  1 docker pull wurstmeister/zookeeper
            如果拉取报错:
Error response from daemon: Get https://registry-1.docker.io/v2/wurstmeister/zookeeper/manifests/latest: Get https://auth.docker.io/token?scope=repository%3Awurstmeister%2Fzookeeper%3Apull&service=registry.docker.io: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
             则需要提前去查找一下镜像:
  1 docker search wurstmeister/zookeeper
            再执行
  1 docker pull wurstmeister/zookeeper
             就会成功。

2.2.拉取 kafka镜像

  1 docker pull wurstmeister/kafka
            如果拉取报错:
  1 Error response from daemon: Get https://registry-1.docker.io/v2/wurstmeister/kafka/manifests/latest: Get https://auth.docker.io/token?scope=repository%3Awurstmeister%2Fkafka%3Apull&service=registry.docker.io: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
            则同理去查询一次镜像:
  1 docker search wurstmeister/kafka
            再执行
  1 docker pull wurstmeister/kafka
            就会成功。

3.查看是否成功拉取了zookeeper和kafka的镜像

  1 docker images
            如下图

4.启动zookeeper和kafka的镜像

4.1.启动zookeeper镜像
  1 docker run -d --name zookeeper --publish 2181:2181 --volume /etc/localtime:/etc/localtime wurstmeister/zookeeper

4.2.启动kafka镜像

           (切记 192.168.101.139是我虚拟机ip,各位需要更换为自己的kafka镜像所在主机的ip)

  1 docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=192.168.101.139 --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka
4.3.查看两个镜像是否启动成功
  1 docker ps

5.测试kafka(生产/消费)消息
5.1进入容器内部

            查看kafka的 CONTAINER ID :

  1 docker ps|grep kafka
            假设获取到的ID为:ba2540992d9e

           使用ID进入容器:

  1 docker exec -it ba2540992d9e /bin/bash

5.2测试消息发送
            在容器命令界面(具体进入/opt/kafkaxxxx 要ls一下 查看自己拉取的哪个版本的镜像产生的容器):

  1 cd /opt/kafka_2.12-2.1.0/
            创建一个主题名为netmusic:
  1 bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic netmusic
            运行一个生产者:
  1 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic netmusic
             在另一个窗口打开容器命令窗口,运行一个消费者:172.17.0.3 是 kafka容器的ip。

            可以通过进入kafka容器的命令窗口(docker exec -it ba2540992d9e /bin/bash),使用ifconfig查看ip。

  1 bin/kafka-console-consumer.sh --bootstrap-server 172.17.0.3:9092 --topic netmusic

在生产者的窗口生产消息,就可以在消费者窗口消费消息看到消息。

归类 :自动化运维

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值