一、下载
Zookeeper下载地址,如下图,要下载apache-zookeeper-3.6.2-bin.tar.gz。否则后期启动会失败。
二、解压
需要注意zookeeper安装的目录,我是放在/usr/local/zookeeper/目录下。用如下的解压命令进行解压,注意解压后的目录层次。
sudo tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz -C /usr/local/zookeeper
三、配置
1、zoo.cfg
首先是zoo.cfg的配置。先将样例文件copy一份,命名为zoo.cfg。
cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
然后进行编辑。dataDir本身就有,注意不要重复添加。
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/datalog
然后是下面两项,关于zookeeper的清理。把注释的#去掉就好
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
然后是节点的IP信息,等号前面的server不变,数字需要注意,后期在myid(暂不用管)文件中需要用到,等号后面的为节点的IP(或者节点hostname,与/etc/hosts中配置的一致)
server.1=192.168.187.130:2888:3888
server.2=192.168.187.131:2888:3888
server.3=192.168.187.132:2888:3888
server.4=192.168.187.133:2888:3888
2、环境变量
在~/.bashrc配置文件中增加zookeeper的配置。
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
然后 source ~/.bashrc,使之生效。
3、文件
在zookeeper目录下,创建data、datalog目录(两个目录是之前在zoo.cfg中配置的)。在data目录下创建 myid文件,内容上为之前zoo.cfg中添加的server.1后的数字。数字是用来识别节点的,几个节点不能一样。
四、集群命令
1、启动
可以通过jps查看是否启动成功。
如果启动失败了,可以使用如下的命令重新启动,可以看到失败原因
./zkServer.sh start-foreground
2、停止
3、状态
可以从截图中可以看到节点的区别,其中有一个节点是leader节点,有些事follower节点。
五、问题
新版 ZooKeeper 启动时一直报: Starting zookeeper … FAILED TO START
主要是两个问题:下载的版本问题;AdminServer端口冲突问题。