Zookeeper内部是有投票选举机制来区分主/从的概念,所以机器数需要为奇数台
IP地址规划,以本地CentOS6.X虚拟机为演示例子
192.168.174.226 server06
192.168.174.227 server07
192.168.174.228 server08
关闭防火墙:service iptables stop
并设置防火墙开机不自启动:chkconfig iptables off
修改主机名【非必须操作】:vim /etc/sysconfig/network
修改完成后需要重启机器
下载JDK,Zookeeper,并使用SFTP【LZ 常用Filezilla】工具上传到每台虚拟机。
在每台机器上安装JDK,并配置环境变量
解压JDK到 /usr/local下
tar -zxvf jdk-8u141-linux-x64.tar.gz -C /usr/local
配置环境变量:
vim /etc/profile
添加如下:
export JAVA_HOME=/usr/local/jdk1.8.0_141
刷新环境变量:
source /etc/profile
验证Java环境变量:java -version
然后在每台机器上安装Zookeeper
解压Zookeeper到 /usr/local下
tar -zxvf zookeeper-3.4.5.tar.gz -C /usr/local/
创建临时文件目录:mkdir -p /usr/local/zookeeper-3.4.5/tmp
进入Zookeeper配置文集目录
cd /usr/local/zookeeper-3.4.5/conf/
拷贝配置模板文件
cp zoo_sample.cfg zoo.cfg
编辑zoo.cfg,修改数据文件目录
dataDir=/usr/local/zookeeper-3.4.5/tmp
然后文件末尾添加如下内容:
server.1=192.168.174.226:2888:3888
server.2=192.168.174.227:2888:3888
server.3=192.168.174.228:2888:3888
写入一个Zookeeper的ID号到myid文件,这个文件不存在,使用下面的命令会自动创建并写入
echo 1 > /usr/local/zookeeper-3.4.5/tmp/myid
第一台机器就算配置完成了,后面两台机器和第一台前面的配置都一样,只是后面的标识ID需要写入不同的,安照上面的配置
第二台机器 echo 2 > /usr/local/zookeeper-3.4.5/tmp/myid
第三台机器 echo 3 > /usr/local/zookeeper-3.4.5/tmp/myid
还有一种简单的方式,就是安装好一台后,可以结合SSH的远程拷贝来完成,将第一台安装好的Zookeeper通过scp拷贝到其他两台机器,然后只需要修改myid文件即可
分别启动三台Zookeeper:/usr/local/zookeeper-3.4.5/bin/zkServer.sh start
查看状态:/usr/local/zookeeper-3.4.5/bin/zkServer.sh status
因为Zookeeper内部的选举机制,你会发现一个Leader,两个Follower
停止Zookeeper:/usr/local/zookeeper-3.4.5/bin/zkServer.sh stop
********************************* 不积跬步无以至千里,不积小流无以成江海 *********************************