ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。【出自百度百科】
#两台centos7
10.10.10.20 master
10.10.10.30 node01
10.10.10.30 node02
# 三台服务器的配置全部如下配置
#关闭firewalld
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl disable firewalld.service
#关闭selinux
[root@localhost ~]# sed -i 's:SELINUX=enforcing:SELINUX=disabled:g' /etc/selinux/config
[root@localhost ~]# setenforce 0
#java 环境安装
[root@localhost ~]# export JAVA_HOME=/root/jdk1.8.0_131
[root@localhost ~]# export PATH=$JAVA_HOME/bin:$PATH
#安装和同步时间
[root@localhost ~]# yum install chrony -y
#之前写的是 echo "server 10.10.10.20 iburst" > /etc/chrony.conf 不过发现相差9小时,所以就有了下面的方法。
[root@localhost ~]# cat > /etc/chrony.conf<<OFF
server 10.10.10.20 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
logdir /var/log/chrony
OFF
#设置启动项和启动
[root@localhost ~]# systemctl enable chronyd.service
[root@localhost ~]# systemctl start chronyd.service
[root@localhost ~]# chronyc sources
#设置时区
[root@localhost ~]# timedatectl set-timezone Asia/Shanghai
[root@localhost ~]# timedatectl status
#重新启动电脑
[root@localhost ~]# reboot
[root@localhost ~]# cp -r /root/zookeeper-3.4.10/conf/zoo.cfg.simple /root/zookeeper-3.4.10/conf/zoo.cfg
[root@localhost ~]# grep -Ev '^$|^#' /root/zookeeper-3.4.10/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/root/zookeeper_data
dataLogDir=/root/zookeeper_log
clientPort=2181
server.1=10.10.10.20:2888:3888
[root@localhost ~]# /root/zookeeper-3.4.10/bin/zkServer.sh start
[root@localhost ~]# /root/zookeeper-3.4.10/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: standalone
# master上操作
[root@master ~]# cp -r /root/zookeeper-3.4.10/conf/zoo.cfg.simple /root/zookeeper-3.4.10/conf/zoo.cfg
[root@master ~]# grep -Ev '^$|^#' /root/zookeeper-3.4.10/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/root/zookeeper_data
dataLogDir=/root/zookeeper_log
clientPort=2181
server.1=10.10.10.20:2888:3888
server.2=10.10.10.30:2888:3888
server.3=10.10.10.40:2888:3888
[root@master ~]# scp /root/zookeeper-3.4.10/conf/zoo.cfg 10.10.10.30:/root/zookeeper-3.4.10/conf/zoo.cfg
[root@master ~]# scp /root/zookeeper-3.4.10/conf/zoo.cfg 10.10.10.40:/root/zookeeper-3.4.10/conf/zoo.cfg
# node1服务器操作
[root@node1 ~]# echo 1 > /root/zookeeper_data/myid
[root@node1 ~]# /root/zookeeper-3.4.10/bin/zkServer.sh start
[root@node1 ~]# /root/zookeeper-3.4.10/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower
# node2服务器操作
[root@node1 ~]# echo 2 > /root/zookeeper_data/myid
[root@node2 ~]# /root/zookeeper-3.4.10/bin/zkServer.sh start
[root@node2 ~]# /root/zookeeper-3.4.10/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower
# master服务器操作
[root@node1 ~]# echo 3 > /root/zookeeper_data/myid
[root@master ~]# /root/zookeeper-3.4.10/bin/zkServer.sh start
[root@master ~]# /root/zookeeper-3.4.10/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: master
客户端安装nc, yum install nc -y
zookeeper服务器当前节点配置信息: echo conf|nc localhost 2181
cons:echo cons|nc localhost 2181 输出当前服务器所有客户端连接的详细信息
crst:重置所有客户端连接统计信息
dump:echo dump|nc localhost 2181,输出当前集群的所有会话消息
envi:echo envi|nc localhost 2181,输出服务器运行时的环境信息
ruok:echo ruok|nc localhost 2181,输出当前Zookeeper是否正在运行。是,则返回 'imok'。
stat:echo stat|nc localhost 2181,服务器运行时状态信息
srvr:和stat功能一致,但不会输出客户端连接情况;
srst:重置所有服务器统计信息;
wchs:echo wchs|nc localhost 2181,输出当前服务器管理的Watcher信息
wchp:echo wchp|nc localhost 2181,与wchs类似,但以节点路径为单位对Watcher信息进行归组;
mntr:echo mntr|nc localhost 2181,比stat更为详尽的服务器信息
https://www.jianshu.com/p/2ebc24427492
http://archive.apache.org/dist/zookeeper/