Docker Desktop创建ZK集群和Kafka集群 详解

大家好 我是积极向上的湘锅锅💪💪💪

首先得要有一个能正常运行的Docker Desktop
网上教程很多
这里就不再阐述

我的版本是Docker Desktop 4.11.1


创建ZK集群

1. 配置docker-compose.yml

如果一个一个的配置docker来做zk集群太麻烦,docker有一个解决方案,通过一个配置文件,就能搭建一个集群。
创建一个名为:docker-compose.yml的配置文件
(创建一个txt,把内容复制进去,改下名字和后缀)

比如我们要创建集群数是三台

version: '3.1'

services:
  zoo1:
    image: zookeeper
    restart: always
    hostname: zoo1
    container_name: zoo1
    ports:
      - 2181:2181
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

  zoo2:
    image: zookeeper
    restart: always
    hostname: zoo2
    container_name: zoo2
    ports:
      - 2182:2181
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

  zoo3:
    image: zookeeper
    restart: always
    hostname: zoo3
    container_name: zoo3
    ports:
      - 2183:2181
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

注意要看自己的ZK版本,zk的版本不同,ZOO_SERVERS也不同, zookeeper3.5之前不需要加;2181,zookeeper3.5之后需要加

具体写法参照zookeeper在docker hub的主页: https://hub.docker.com/_/zookeeper


2. 启动docker-compose.yml

在 docker-compose.yml 的文件目录下,执行指令

docker-compose up -d -d 

执行后的结果

PS C:\xxxxxxxx> docker-compose up -d
Creating network "desktop_default" with the default driver
Creating zoo1 ... done
Creating zoo3 ... done
Creating zoo2 ... done

执行 docker ps 查看一下是否添加成功了,如果是如下内容代表成功了
在这里插入图片描述
当然在Docker Desktop也可以看到
在这里插入图片描述


3. 测试

查看zookeeper状态
连接到zoo1,查看一下服务的状态

docker exec -it zoo1 bash ./bin/zkServer.sh status

返回结果

C:\Users\23172>docker exec -it zoo1 bash ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

Mode: follower 追随者节点
Mode: leader 领导者节点

也可以看看zoo2和zoo3

连接到zoo1上试一下

docker exec -it zoo1 /bin/bash

返回的内容是
root@zoo1:/apache-zookeeper-3.8.0-bin#
接下来连接查看

./bin/zkCli.sh -server 127.0.0.1:2181

返回如下内容
在这里插入图片描述
再随便输入一个指令

ls /

有内容就表示ZK集群OK了


Kafka集群

1. 拉取kafka镜像

docker pull bitnami/kafka

输入

docker images

看到有bitnami/kafka就成功了


2. 创建kafka实例

先创建kakfa1实例

docker run -d --name kafka1 -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=本机ip地址:2181 -e ALLOW_PLAINTEXT_LISTENER=yes -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://本机ip地址:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t bitnami/kafka

注意千万不要就开始复制然后运行
有几个地方要注意
在这里插入图片描述
第一处是kafka实例的名字,不能重复
第二处是端口号,如果换成9093,就全部改成9093
第三处是broker的id
第四处记得是填本机ip地址,不清楚的直接ipconfig查看

然后再创建一个kakfa2实例
只需要改如下地方

  • kafka名字
  • 端口号
  • broker的id

这里小伙伴可以自己去尝试

在Docker Desktop看到如下就表示成功了

在这里插入图片描述


3. 下载、安装可视化工具CMAK(Cluster Manager for Apache Kafka)

1. 拉取镜像
docker search kafka-manager

在这里插入图片描述
运行KafKa-manage:

docker run -dit -p 9000:9000 -e ZK_HOSTS="主机IP:2181" sheepkiller/kafka-manager

使用http://localhost:9000/登录即可

在这里插入图片描述
点击Add Cluster
在这里插入图片描述
有以下内容就可以了

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

owensweat

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

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

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

打赏作者

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

抵扣说明:

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

余额充值