Zookeeper集群的角色: Leader 和 follower (Observer)
zk集群最好配成奇数个节点
只要集群中有半数以上节点存活,集群就能提供服务
本事例采用版本:zookeeper-3.4.5 虚拟机:zk1 zk2 zk3
/********************************************************************第一步上传解压*****************************************************************/
1/ 安装到3台虚拟机上
2/ 安装好JDK
3/ 上传安装包。上传用工具比如:xshell
4/ 解压安装文件到指定目录 /usr/local/zookeeper
tar -zxvf zookeeper-3.4.5.tar.gz(解压)
5/ 重命名
mv zookeeper-3.4.5 zookeeper(重命名文件夹zookeeper-3.4.5为zookeeper)
/*****************************************************第二步配置环境变量***********************************************************/
1/ vi /etc/profile(修改文件)
2/ 添加内容:
export ZOOKEEPER_HOME=/home/hadoop/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
3/ 加载环境配置:
source /etc/profile
/********************************************************************第三步修改配置*************************************************************/
修改Zookeeper配置文件
1、用root用户操作修改配置文件名称:
cd zookeeper/conf
cp zoo_sample.cfg zoo.cfg
2、 修改配置文件: vi zoo.cfg
3、添加内容:
dataDir=/root/apps/zookeeper/zkdata
server.1=zk1:2888:3888 ## (心跳端口、选举端口)
server.2=zk2:2888:3888
server.3=zk3:2888:3888
/********************************************************************第四步创建日志文件*************************************************************/
4、创建文件夹:
cd /root/apps/zookeeper/zkdata
mkdir zkdata
5、在zkdata文件夹下新建myid文件,myid的文件内容为:
cd zkdata
echo 1 > myid
4.2.4 分发安装包到其他机器
scp -r /root/apps root@zk2:/root/
scp -r /root/apps root@zk3:/root/
4.2.5 修改其他机器的配置文件
1、修改myid文件
到zk2上:echo 2 > myid 修改myid为:2
到zk3上:echo 3 > myid 修改myid为:3
4.2.6 启动(每台机器)
注:
1、事先将三台服务器的防火墙都关掉
2、全网统一hosts映射
先配好一台上的hosts
然后:
scp /etc/hosts zk2:/etc
scp /etc/hosts zk3:/etc
3、然后一台一台地启动
bin/zkServer.sh start
或者编写一个脚本来批量启动所有机器:
for host in "zk1 zk2 zk3"
do
ssh $host "source/etc/profile;/user/local/zookeeper/bin/zkServer.sh start"
4.2.7 查看集群状态
1、jps(查看进程)
2、zkServer.sh status(查看集群状态,主从信息)