您的位置:首页 > 运维架构

hadoop2.2.0集群搭建(三) zookeeper集群搭建

2016-10-22 22:16 423 查看
概述
结构与原理
安装

»概述

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

»结构与原理



»Zookeeper的核心是原子广播,这个机制保证了各个server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式和广播模式。当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数server的完成了和leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和server具有相同的系统状态。

»一旦leader已经和多数的follower进行了状态同步后,他就可以开始广播消息了,即进入广播状态。这时候当一个server加入zookeeper服务中,它会在恢复模式下启动,发现leader,并和leader进行状态同步。待到同步结束,它也参与消息广播。Zookeeper服务一直维持在Broadcast状态,直到leader崩溃了或者leader失去了大部分的followers支持

»安装

1.1上传zookeeper-3.4.5.tar.gz到hadoop4目录  /usr/cloud/zookeeper

 1.2解压   

tar -zxvf zookeeper-3.4.5.tar.gz -C /usr/cloud/zookeeper
1.3 修改配置
cd /usr/cloud/zookeeper/zookeeper-3.4.5/conf/
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
#修改:
dataDir=/usr/cloud/zookeeper/zookeeper-3.4.5/tmp
#在最后添加:
server.1=hadoop4:2888:3888
server.2=hadoop5:2888:3888
server.3=hadoop6:2888:3888
#保存退出,然后创建一个tmp文件夹
mkdir /usr/cloud/zookeeper/zookeeper-3.4.5/tmp
#再创建一个空文件
touch /usr/cloud/zookeeper/zookeeper-3.4.5/tmp/myid
#最后向该文件写入ID
echo 10 > /usr/cloud/zookeeper/zookeeper-3.4.5/tmp/myid 


1.3将配置好的zookeeper拷贝到其他节点(分别在hadoop5、hadoop6的目录/usr/cloud/zookeeper)

scp -r /usr/cloud/zookeeper/zookeeper-3.4.5/ hadoop5:/usr/cloud/zookeeper
scp -r /usr/cloud/zookeeper/zookeeper-3.4.5/ hadoop6:/usr/cloud/zookeeper

#需要注意点:
#修改hadoop5、hadoop6对应/hadoop/zookeeper-3.4.5/tmp/myid内容
hadoop5:
echo 20 > /usr/cloud/zookeeper/zookeeper-3.4.5/tmp/myid
hadoop6:
echo 30 > /usr/cloud/zookeeper/zookeeper-3.4.5/tmp/myid


1.4 /etc/profile,将zookeeper安装目录添加到环境变量中

   

vim /etc/profile

export ZK_HOME=/usr/cloud/zookeeper/zookeeper-3.4.5
export PATH=$PATH:$JAVA_HOME/bin:$ZK_HOME/bin

source  /etc/profile
1.5 启动zk检查是否成功,在hadoop4、hadoop5、hadoop6执行命令;
#启动服务
zkServcer.sh start
#检查服务启动状态,必须有一个leader,其他服务都是follower
zkServcer.sh status


   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: