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创建ZK集群和Kafka集群 详解_第1张图片
当然在Docker Desktop也可以看到
Docker Desktop创建ZK集群和Kafka集群 详解_第2张图片


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

返回如下内容
Docker Desktop创建ZK集群和Kafka集群 详解_第3张图片
再随便输入一个指令

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

注意千万不要就开始复制然后运行
有几个地方要注意
Docker Desktop创建ZK集群和Kafka集群 详解_第4张图片
第一处是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/登录即可

Docker Desktop创建ZK集群和Kafka集群 详解_第5张图片
点击Add Cluster
Docker Desktop创建ZK集群和Kafka集群 详解_第6张图片
有以下内容就可以了

Docker Desktop创建ZK集群和Kafka集群 详解_第7张图片

你可能感兴趣的:(Docker,docker,kafka,容器)