亲宝软件园·资讯

展开

Docker ZooKeeper集群

MR船长 人气:0

一. 服务器规划

主机

IP

端口

备注

b-mid-24

172.16.0.24

2181, 2888, 3888

2181:对cline端提供服务

3888:选举leader使用

2888:集群内机器通讯使用(Leader监听此端口)

b-mid-25

172.16.0.25

2181, 2888, 3888

b-mid-26

172.16.0.26

2181, 2888, 3888

二. 集群部署

注:以下步骤需要分别在三台主机操作

1. 配置

1.1 创建宿主机映射目录

mkdir /data/docker/zookeeper-home/{conf,data,logs,datalog} -p

1.2. 创建配置文件(3台zk节点配置文件一样)

vi /data/docker/zookeeper-home/conf/zoo.cfg :

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.

dataDir=/data
dataLogDir=/datalog

# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

server.24=172.16.0.24:2888:3888
server.25=172.16.0.25:2888:3888
server.26=172.16.0.26:2888:3888

1.3. 配置zookeeper主机id,每个机器id不能相同,需要对应配置文件server后面的值:

echo "24" > /data/docker/zookeeper-home/data/myid
echo "25" > /data/docker/zookeeper-home/data/myid
echo "26" > /data/docker/zookeeper-home/data/myid

1.4 修改 zookeeper-home 目录及子目录所属用户为 yunwei :

chown -R yunwei:yunwei /data/docker/zookeeper-home

2. 启动

2.1 开启端口

firewall-cmd --permanent --add-port=2181/tcp
firewall-cmd --permanent --add-port=2888/tcp
firewall-cmd --permanent --add-port=3888/tcp
firewall-cmd --reload
firewall-cmd --list-all

2.2 启动服务(用 yunwei 账号执行)

拉取镜像:

docker pull zookeeper:3.4.10

启动服务:

docker run -d \
--name zookeeper \
--network host \
--restart=unless-stopped \
-v /data/docker/zookeeper-home/data:/data \
-v /data/docker/zookeeper-home/conf:/conf \
-v /data/docker/zookeeper-home/datalog:/datalog \
-v /data/docker/zookeeper-home/logs:/logs \
-v /etc/localtime:/etc/localtime \
zookeeper:3.4.10

2.3 查看服务器状态

docker exec -it zookeeper bash
zkServer.sh status
echo mntr | nc 127.0.0.1 2181
zkCli.sh -server 127.0.0.1:2181
ls /

加载全部内容

相关教程
猜你喜欢
用户评论