ZooKeeper的安装与部署
一、硬件环境
假设有4台机,IP及主机名如下:
192.168.100.105 c1
192.168.100.110 c2
192.168.100.115 c3
192.168.100.120 c4
^_^ 这里是个trap(陷阱),ZooKeeper的节点,官方建议是单数个。由于ZooKeeper的机制的原因,如果节点是偶数台的话,会有1台是多余的。
所以,即使有4台,但只在其中3台部署ZooKeeper节点。同理,如果有6台机,只部署5个节点即可。
参考资料:https://www.cnblogs.com/liang1101/p/6267125.html
另外,由于ZooKeeper的I/O量并不高,所以管理100台以下的服务器时,建议只使用3个或5个节点即可。如有特殊情况请自行斟酌。
二、搭建分布式ZooKeeper
* 先登录root账号再进行以下操作
* 这里只在前3台机部署,也就是c1、c2、c3机
1.下载安装包
http://zookeeper.apache.org/releases.html#download
这里下载的是apache-zookeeper-3.6.0-bin.tar
* 其中,3.6.0是版本号,如果有新版下载则改成新的版本号,下同。
* 以下步骤在c1、c2、c3机执行
2.配置hosts文件
vim /etc/hosts
加入以下内容:
192.168.100.105 c1 192.168.100.110 c2 192.168.100.115 c3
3.上传安装包到服务器
假设上传到/home/目录,用rz命令上传。
cd /home
rz
或直接在服务器下载:
cd /home
wget https://downloads.apache.org/zookeeper/zookeeper-3.6.0/apache-zookeeper-3.6.0-bin.tar.gz
4.解压
tar -xvf apache-zookeeper-3.6.0-bin.tar.gz mv apache-zookeeper-3.6.0-bin zookeeper
5.配置系统环境变量
vim ~/.bashrc
添加以下内容:
export PATH=$PATH:/home/zookeeper/bin
保存退出后,更新环境变量:
source ~/.bashrc
6.创建data和logs目录
mkdir -pv /home/zookeeper/{data,logs}
7.创建myid
echo 1 > /home/zookeeper/data/myid
* 其中数字是每台机不同,例如第1台是1,第2台是2,第3台是3,第4台是4。
8.编辑zoo.cfg文件
cd /home/zookeeper/conf cp zoo_sample.cfg zoo.cfg vim zoo.cfg
修改属性或添加内容:
tickTime=2000 initLimit=10 syncLimit=5 clientPort=2181 dataDir=/home/zookeeper/data/ dataLogDir=/home/zookeeper/logs/ server.1=c1:2888:3888 server.2=c2:2888:3888 server.3=c3:2888:3888
9.启动
zkServer.sh start
10.测试
zkServer.sh status
不同节点的返回结果会不同,其中1个是leader,其余的是follower。
附:利用脚本批量操作
https://www.cnblogs.com/live41/p/15636466.html