部署环境说明
总体上来说,基于Docker部署zookeeper和kafka是非常简单
大家按照步骤就是很容易拥有自己的一个zookeeper和kafka集群
部署前提
- Java环境
- 已安装docker/docker-compose
如果不知道docker如何安装,自行google/baidu
zookeeper集群安装
新建一个zookeeper目录
建立挂载的文件目录
cd zookeeper
mkdir -p conf data datalog
运行docker命令
docker run -d \
-p 2181:2181 \
-p 2888:2888 \
-p 3888:3888 \
--name zk1 \
--restart always \
-v $PWD/data:/data \
-v $PWD/datalog:/datalog \
-e "TZ=Asia/Shanghai" \
-e "ZOO_MY_ID=1" \
-e "ZOO_SERVERS=server.1=0.0.0.0:2888:3888 server.2=192.168.10.103:2888:3888 server.3=192.168.10.104:2888:3888" \
zookeeper:latest
分别在其他的两个服务器重复上面的步骤
- 修改docker容器的名称
- 参数 ZOO_MY_ID不能重复
- 在ZOO_SERVERS参数里,节点地址为当前节点地址的时候,记得修改为
0.0.0.0
至此,你就拥有了一个基于docker的zookeeper集群环境
查看集群信息
运行
echo stat | nc 127.0.0.1 2181
结果示例如下
Zookeeper version: 3.4.14-4c25d480e66aadd371de8bd2fd8da255ac140bcf, built on 03/06/2019 16:18 GMT
Clients:
/172.17.0.1:51600[0](queued=0,recved=1,sent=0)
Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x1c00000004
#节点(leader/follower)
Mode: follower
Node count: 160
kafka集群安装
在安装了zookeeper集群的基础之上,安装kafka的环境就非常简单了
新建kafka目录
mkdir kafka
运行docker命令
docker run -d \
--name kafka1 \
-p 9092:9092 \
-e KAFKA_BROKER_ID=1 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.10.102:2181,192.168.10.103:2181,192.168.10.104:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.10.102:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-t wurstmeister/kafka
- 在每一个服务器创建如下文件(前提是你得安装好zookeeper集群)
- 在服务器下面建立如下脚本,记得修改BORKER_ID以及name
zookeeper集群监控
本人用的是ZooInspector作为查看zookeeper集群的数据的工具,搜索下载集合
添加配置信息
查看节点/数据
zkui也不错,感兴趣的童鞋自行了解
kafka集群监控
本人用的是KafkaManager作为查看kafka集群的数据的工具
安装教程,各位大侠自行根据文档说明进行操作
界面如下
kafkaManager图2

kafkaManager图3
如果大家在部署安装的时候,遇到什么问题,欢迎大家留言


