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 /
加载全部内容