栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 前沿技术 > 云计算 > 云平台

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:Users23172>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

有以下内容就可以了

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/1044687.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号