安装zookeeper
1.前提
-
检查IP地址ifconfig
192.168.88.161
192.168.88.162
192.168.88.163 -
检查主机名(cat /etc/hostname)
node1.itcast.cn
node2.itcast.cn
node3.itcast.cn -
检查主机映射(cat /etc/hosts)

-
检查防火墙是否关闭(systemctl status firewalld)

-
检查时间是否同步
date +"%Y-%m-%D %H:%M:%S" -
检查是否能ssh免密登录
ssh 其它主机名 -
检查jdk是否安装
java -version
2.zk具体安装部署(选择node1安装,scp分发给其它节点)
-
1)下载安装包
zookeeper-3.4.6.tar.gz -
2)上传解压重命名
cd /export/software/
tar zxvf zookeeper-3.4.6.tar.gz -C /export/server/ #解压到指定目录
cd /export/server
mv zookeeper-3.4.6/ zookeeper #改个名 -
3)修改配置文件
cd zookeeper/conf
mv zoo_sample.cfg zoo.cfg #改个名儿
vim zoo.cfg
修改内容:
dataDir=/export/data/zkdata
最后添加:(2888心跳端口、3888选举端口)
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888 -
4)myid
在每台机器的dataDir指定的目录下创建一个文件 名字为myid
myid里面的数字就是该机器上server编号.server.N N的数字就是编号
mkdir -p /export/data/zkdata
echo 1 > /export/data/zkdata/myid -
5)把安装包同步到其它节点上
cd /export/server
scp -r zookeeper/ node2:$PWD
scp -r zookeeper/ node3:$PWD
检查node2,node3的/export/server路径下是否新添加了zookeeper文件夹 -
6)修改其他机器的配置文件
修改myid文件
mkdir -p /export/data/zkdata
echo 2 > /export/data/zkdata/myidmkdir -p /export/data/zkdata
echo 3 > /export/data/zkdata/myid -
7)启动zk集群
每台机器上单独启动服务
在哪个目录执行启动命令,默认启动日志就生成在当前路径下叫做zookeeper.out
/export/server/zookeeper/bin/zkServer.sh start
三台机器启动完毕之后,可以使用status查看角色是否正常



-
8)选举过半机制
首先集群数量最好是奇数3.5.7..
只要投票超过一半的人lead就生效,之后再添加机器也并不会变
集群的机器过半以上存在就能正常运行,少于一半就会瘫痪,集群不能用
比如三台机器:先运行第一台,集群不能用
运行第二台,这时候会对比myid里的数字,数字越大权重越大,大的成为leader,小的为follower
这时候运行第三台,并不会改变结果,第三台也是follower,除非leader挂了
3.一键启动zk脚本
mkdir -p /onekey
touch zk1_start.sh
vim zk1_start.sh
#! /bin/bash
hosts=(node1 node2 node3)
for host in ${hosts[*]}
do
ssh $host "source /etc/profile; /export/server/zookeeper/bin/zkServer.sh start"
done
同理可以一键关闭

浙公网安备 33010602011771号