下载地址
各版本:https://www-us.apache.org/dist/zookeeper/
稳定版本:https://www-us.apache.org/dist/zookeeper/stable/
服务器下载安装
[root@localhost /]# cd /usr/local
[root@localhost local]# wget https://www-us.apache.org/dist/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6-bin.tar.gz
上面也可以下载到本地,然后用rz -y
命令从本地拷贝到服务器
解压
[root@localhost local]# tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz
配置
- 进入配置文件目录
[root@localhost local]# cd apache-zookeeper-3.5.6-bin/conf
- 复制一份配置文件
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg
- 打开文件
[root@localhost conf]# vim zoo.cfg
-
修改配置
键盘按insert键或i键,进入编辑模式,然后修改原来的dataDir。目录自定定义,不要放到tmp目录,tmp目录的东西会被删除。
**注意:**如果不配置dataLogDir,则默认在dataDir路径。后期数据量大了,不便于维护,所以分开最好
dataDir=/opt/zookeeper/data dataLogDir=/opt/zookeeper/log
-
集群配置
ip配置称自己的机器ip。如果电脑内存比较小,zookeeper还可以设置成伪集群。也就是全部服务器采用同一个ip,但是使用不同的端口。
server.1=192.168.135.132:2888:3888 server.2=192.168.135.133:2888:3888 server.3=192.168.135.134:2888:3888
- server.数字的1、2、3必须是唯一的,范围在1-255之间,表示这个是第几号服务器,*且这个标识要写到快照目录下面myid文件里。host:port1:port2的第一个端口port1是
- 第一个端口是master和slave之间的通信端口,默认是2888,
- 第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888
-
创建dataDir、dataLogDir目录
[root@localhost conf]# mkdir /opt/zookeeper [root@localhost conf]# mkdir /opt/zookeeper/data [root@localhost conf]# mkdir /opt/zookeeper/log
-
添加myid
[root@localhost conf]# cd /opt/zookeeper/data [root@localhost data]# echo "1" >> myid
环境变量
[root@localhost conf]# vim /etc/profile
添加如下:
ZK_HOME=/usr/local/apache-zookeeper-3.5.6-bin
然后修改:export PATH=XXXX 后面加上
:$ZK_HOME/bin
如下图,保存后退出(这里怎么保存退出,不在这里描述了)。
重启环境变量
[root@localhost conf]# source /etc/profile
或者
# 注意“.”号后面还有一个空格
[root@localhost conf]# . /etc/profile
集群配置
-
以上都是192.168.135.132机器配置,现在需要在这台服务器把它拷贝到192.168.135.133和192.168.135.134这两台服务器
命令如下:
scp -r /usr/local/apache-zookeeper-3.5.6-bin/ 192.168.135.133:/usr/local/apache-zookeeper-3.5.6-bin/
scp -r /opt/zookeeper/ 192.168.135.133:/opt/zookeeper/
scp -r /usr/local/apache-zookeeper-3.5.6-bin/ 192.168.135.134:/usr/local/apache-zookeeper-3.5.6-bin/
scp -r /opt/zookeeper/ 192.168.135.134:/opt/zookeeper/
-
修改192.168.135.133服务器的myid
[root@localhost conf]# cd /opt/zookeeper/data [root@localhost data]# echo "2" > myid
echo $文件名 :表示输出文件的内容
echo"内容" > 文件名 : 表示添加“内容”到文件里,但会覆盖以前的内容
echo"内容" >> 文件名 : 表示追加“内容”到文件里,只有追加到末尾
-
修改192.168.135.133服务器的myid
[root@localhost conf]# cd /opt/zookeeper/data [root@localhost data]# echo "3" > myid
启动
-
配置环境变量后,直接在任何目录下输入:
[root@localhost conf]# zkServer.sh start
三台机器都要做此操作,否则通过zkServer.sh status查看启动状态时 可能会有Error contacting service. It is probably not running.错误信息。 具体查看可以在$ZK_HOME/zookeeper.out查看详细的日志信息
查看状态
[root@localhost conf]# zkServer.sh status #查看当前机器的zookeeper状态
客户端连接
zkCli.sh -server 192.168.135.132:2181
或者
zkCli.sh -server
查看进程
查看zookeeper进程:
ps -aux|grep 'zookeeper'
关闭zookeeper
sh zkServer.sh stop
或者zkServer.sh stop