Kafka 集群管理、状态保存是通过 zookeeper 实现,所以先要搭建 zookeeper 集群
zookeeper 集群搭建
一、软件环境:
zookeeper 集群需要超过半数的的 node 存活才能对外服务,所以服务器的数量应该是
2*N+1,这里使用 3 台 node 进行搭建 zookeeper 集群。
1. 3 台 linux 服务器都使用 docker 容器创建,ip 地址分别为
NodeA:172.17.0.10
NodeB:172.17.0.11
NodeC:172.17.0.12
2. zookeeper 的 docker 镜像使用 dockerles 制作,内容如下:
###############################################
####################
FROM docker.zifang.com/centos7-base
MAINTAINER chicol "chicol@yeah.net"
# copy install package les from localhost.
ADD ./zookeeper-3.4.9.tar.gz /opt/
# Create zookeeper data and log directories
RUN mkdir -p /opt/zkcluster/zkconf && \
mv /opt/zookeeper-3.4.9 /opt/zkcluster/zookeeper && \
yum install -y java-1.7.0-openjdk*
CMD /usr/sbin/init
###############################################
####################
3. zookeeper 镜像制作
[root@localhost zookeeper-3.4.9]# ll
total 22196
-rw-r--r-- 1 root root 361 Feb 8 14:58 Dockerle
-rw-r--r-- 1 root root 22724574 Feb 4 14:49 zookeeper-3.4.9.tar.gz
# docker build -t zookeeper:3.4.9 .
4.在 docker 上起 3 个容器
# docker run -d -p 12888:2888 -p 13888:3888 --privileged=true -v
/home/data/zookeeper/:/opt/zkcluster/zkconf/ --name zkNodeA
# docker run -d -p 12889:2889 -p 13889:3889 --privileged=true -v
/home/data/zookeeper/:/opt/zkcluster/zkconf/ --name zkNodeA
# docker run -d -p 12890:2890 -p 13889:3889 --privileged=true -v
/home/data/zookeeper/:/opt/zkcluster/zkconf/ --name zkNodeA
源码来源群【 kafka 技术交流】: 519310604
二、修改 zookeeper配置文件
1.生成 zoo.cfg 并修改配置(以下步骤分别在三个 Node 上执行)
cd /opt/zkcluster/zookeeper/
mkdir zkdata zkdatalog
cp conf/zoo_sample.cfg conf/zoo.cfg
vi /opt/zkcluster/zookeeper/conf/zoo.cfg
评论0