前言
前置条件
环境:操作系统为CentOS,已配置免密登录,已配置Java环境变量。
安装说明
服务器: node53(192.168.2.53)、node54(192.168.2.54)、node55(192.168.2.55)
安装介质:apache-zookeeper-3.5.7-bin.tar.gz,地址:https://zookeeper.apache.org/
Zookeeper集群安装
上传安装介质并解压
$ tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
$ cd /opt/module/
$ mv apache-zookeeper-3.5.7-bin zookeeper-3.5.7
$ cd zookeeper-3.5.7
$ mkdir zkData
$ touch myid
分发至其他服务器
$ cd /opt/module/
$ xsync.sh zookeeper-3.5.7
修改每台服务的myid,使其不一样,这里配置:node53配置:3、node54配置:4、node55配置:5。
$ cd /opt/module/zookeeper-3.5.7/zkData/
$ vim myid
$ cat myid
配置zoo.cfg
$ cd /opt/module/zookeeper-3.5.7/conf
$ cp zoo_sample.cfg zoo.cfg
$ vim zoo.cfg
配置内容
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/module/zookeeper-3.5.7/zkData/
clientPort=2181
#maxClientCnxns=60
#autopurge.purgeInterval=1
# 集群配置
server.3=node53:2888:3888
server.4=node54:2888:3888
server.5=node55:2888:3888
分发到其它服务器:
$ xsync.sh zoo.cfg
启动和关闭集群(每台机器分别操作)
启动: $ bin/zkServer.sh start
关闭: $ bin/zkServer.sh stop
查看状态: $ bin/zkServer.sh status
启动后查看进程,进程为:QuorumPeerMain
Zookeeper集群统一管理脚本
脚本zkp.sh
#!/bin/bash
case $1 in
"start")
for host in node53 node54 node55
do
ssh $host "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
done
;;
"stop")
for host in node53 node54 node55
do
ssh $host "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
done
;;
"status")
for host in node53 node54 node55
do
ssh $host "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
done
;;
esac
操作脚本
zkp.sh start
zkp.sh stop
zkp.sh status
其他资料
ZooKeeper集群安装配置、Zookeeper,角色和状态、选举以及原理、ZooKeeper,增删改查节点、Zookeeper,ZkClient,增删改查节点、Zookeeper,Curator,增删改查节点、Zookeeper,原生API,实现分布式锁。