ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
由于zookeeper的paxos算法要求半数以上存活则为可用,所以必须准备单数个服务器搭建环境。我的主机名为:master、masterha、slave1、slave2、slave3。我的zookeeper集群安装在slave1、slave2、slave3。
安装步骤如下:
若不是,则需要用root用户修改文件的所有者。命令:
su root
cd /home/hadoop
chown hadoop:hadoop zookeeper-3.4.5.tar.gz
su hadoop
2、解压,使用hadoop用户解压
tar -xvf zookeeper-3.4.5.tar.gz
3、重命名,把zookeeper-3.4.5重命名为zookeeper,这样做的好处是以后更好zookeeper版本无需更改环境变量
mv zookeeper-3.4.5/ zookeeper
4、修改环境变量,安装zookeeper的每台主机都要修改,注意修改环境变量需要使用root用户,命令:
1、su root (切换到root用户)
2、vim /etc/profile
3、 添加内容:
export ZOOKEEPER_HOME=/home/hadoop/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin
4、重新编译
source /etc/profile5、修改zookeeper配置文件
1、 su – hadoop
2、 cd /home/hadoop/zookeeper/conf
3、 cp zoo_sample.cfg zoo.cfg
4、 vi zoo.cfg
5、 添加内容
dataDir=/home/hadoop/zookeeper/data dataLogDir=/home/hadoop/zookeeper/log server.1=slave1:2888:3888 server.2=slave2:2888:3888 server.3=slave3:2888:38886、创建文件夹
cd /home/hadoop/zookeeper mkdir data mkdir log chmod 755 data chmod 755 log7、创建myid文件,并添加内容
cd /home/hadoop/zookeeper/data
vi myid
添加内容:1(slave2主机上添加2,slave3主机上添加3)
8、将zookeeper传到其他机器
scp –r /home/hadoop/zookeeper hadoop@slave2:/home/hadoop scp –r /home/hadoop/zookeeper hadoop@slave3:/home/hadoop8.1、在slave2机器上执行命令
su – hadoop
cd /home/hadoop/zookeeper/data
vi myid将内容修改为2
8.2、在slave3机器上执行命令
su – hadoop
cd /home/hadoop/zookeeper/data
vi myid将内容修改为3
9、启动zookeeper集群
分别在slave1、slave2、slave3上执行
zkServer.sh start
然后输入jps
看到有QuorumPeerMain进程说明zookeeper启动成功
最后输入:zkServer.sh status查看zookeeper状态
看到follower,说明当前zookeeper的角色为follower。
搞定