1.首先下载zookeeper 然后进行解压 命令:
tar -zxvf ./apache-zookeeper-3.6.3-bin.tar.gz
2.重新命名 命令:
mv ./apache-zookeeper-3.6.3-bin ZkServer01
3.切换到conf配置文件目录 命令:
cd /usr/local/src/zk/ZkServer01/conf
4.复制一份配置文件做备份 命令:
cp ./zoo_sample.cfg ./zoo.cfg
5.本实例为搭建的伪集群 搭建了6太服务器在同一台机器上 拷贝6台服务器 ZkServer01、ZkServer02、ZkServer03、ZkServer04、ZkServer05、ZkServer06 修改步骤4中的zoo.cfg配置主要改如下三个地方 注意:server.1、server.2、server.3、server.4、server.5、server.6 对应的是myid的内容 分别创建 目录/usr/local/src/zk/ZkServer01/data、 /usr/local/src/zk/ZkServer02/data、/usr/local/src/zk/ZkServer03/data、/usr/local/src/zk/ZkServer04/data、/usr/local/src/zk/ZkServer05/data、/usr/local/src/zk/ZkServer06/data 在这几个目录下创建myid文件 命令:touch myid 分别每个文件输入1、2、3、4、5、6,然后:wq退出 如下:
①、tickTime:基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小 的session过期时间为2倍tickTime
②、dataDir:存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。
③、client:监听客户端连接的端口。
④、initLimit:允许follower连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。
⑤、syncLimit:表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。
⑥、server.A=B:C:D
A:其中 A 是一个数字,表示这个是服务器的编号;
B:是这个服务器的 ip 地址;
C:Zookeeper服务器之间的通信端口;
D:Leader选举的端口。
myid文件如下:
6.启动集群 分别进去每个服务器的bin目录下:
cd /usr/local/src/zk/ZkServer01/bin
cd /usr/local/src/zk/ZkServer02/bin
cd /usr/local/src/zk/ZkServer03/bin
cd /usr/local/src/zk/ZkServer04/bin
cd /usr/local/src/zk/ZkServer05/bin
cd /usr/local/src/zk/ZkServer06/bin
启动命令:
./zkServer.sh start 启动
./zkServer.sh status 查看启动状态
./zkServer.sh stop 停止
7.注意到每个节点下分别启动比较麻烦,可以写启动或停止脚本 zookeeper.sh脚本如下:
#!/bin/bash
#判断用户是否传参
if [ $# -ne 1 ];then
echo "无效参数,用法为: $0 {start|stop|restart|status}"
exit
fi
#获取用户输入的命令
cmd=$1
#定义函数功能
function zookeeperManger(){
case $cmd in
start)
echo "启动服务"
excute start
;;
stop)
echo "停止服务"
excute stop
;;
restart)
echo "重启服务"
excute restart
;;
status)
echo "查看状态"
excute status
;;
*)
echo "无效参数,用法为: $0 {start|stop|restart|status}"
;;
esac
}
function excute(){
for i in ZkServer01 ZkServer02 ZkServer03 ZkServer04 ZkServer05 ZkServer06
do
echo "========== $i $1 =========="
cd /usr/local/src/zk/$i/bin
./zkServer.sh $1
done
}
#调用函数
zookeeperManger
以上脚本改动如下两个位置即可:
7.最后脚本启动 查看状态:



