1、首先肯定是从官网下载相应的tar包,并解压
网址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
解压:tar -zxvf zookeeper-3.4.9.tar.gz
2、添加环境变量
export ZOOKEEPER_HOME=/usr/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
3、修改配置文件
cd /usr/zookeeper/conf ,将zoo_sample.cfg复制为zoo.cfg,并修改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=/usr/zookeeper/data
dataLogDir=/var/log/zookeeper
# 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.1=rdb01:2888:3888
server.2=rdb02:2888:3888
server.3=rdb03:2888:3888
在这里需要注意zoo.cfg的配置文件中的dataDir和dataLogDir的路径当中的文件夹必须要已存在,否则后面启动zkServer服务的时候会失败。
4、在dataDir对应的路径文件夹下(我这里是zkdata文件夹),创建一个myid的文件,并在该文件中输入对应集群各节点的id,我这里对应的是hadoop1对应的就是1,这个是与1
server. 1=rdb01:2888:3888对应的。各个节点分别输入对应的id值即可。
5、启动zkServer
在各节点上执行:zkServer.sh start 并通过jps可以看到:启动了QuorumpeerMain进程。
[root@rdb01 conf]# jps
9904 QuorumPeerMain
9987 Jps
6950 NodeManager
3943 DataNode
9657 NameNode
6847 ResourceManager
6、此时可以通过zkServer.sh status 命令来查看节点的启动状态。
这里需要注意点,只有当至少启动了三个节点之后,该命令才会产生结果。否则会显示:zookeeper Error contacting service. It is probably not running错误
当你启动了至少三个节点之后,执行该命令可以看到:
[root@rdb02 data]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper/bin/../conf/zoo.cfg
Mode: leader
[root@rdb01 conf]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper/bin/../conf/zoo.cfg
Mode: follower
[root@rdb03 data]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper/bin/../conf/zoo.cfg
Mode: follower
7、关闭zookeeper服务
zkServer.sh stop 关闭
zkServer.sh restart 重启