Zookeeper 从设计模式角度来看,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,当数据发生变化,Zookeeper 就将负责通知已经在 Zookeeper 上注册的那些观察者做出相应的反应,从而实现集群中类似 Master/Slave 管理模式。。
简单来说: Zookeeper 是一个分布式协作框架,它协调namenode与备份namenode二者在运行时保证有一个能够稳定运行,当namenode出现宕机等紧急状况,可以保证备份namenode立刻接手工作,
==========================================
-===============安装配置单机模式===============
一 :解压安装zookeeper
tar zxf /opt/softwares/zookeeper-3.4.5.tar.gz -C /opt/modules/zookeeper-3.4.5
二:修改zookeeper主配置文件 zoo.cfg
因为zookeeper安装目录中没有zoo.cfg,我们需要 复制 zoo_sample.cfg 文件并改名为zoo.cfg
[hadoop-hao@hadoop-study01 conf]$ cp -a zoo_sample.cfg zoo.cfg
修改 vi zoo.cfg文件,配置文件数据存储位置,,
dataDir=/opt/app/zookeeper-3.4.5/data
三:启动zookeeper
===================分布式模式=====================
分布式模式与单机模式相似,只是配置信息不一样,并不复杂
一::修改配置文件vi zoo.cfg
server.A=hostname:B:C
abc分别表示
A:zookeeper服务器编号
B:zookeeper入门端口
C:zookeeper推举端口,推举单口指,当zookeeper的leader服务器宕机,停止时,剩下的flower服务器会推选一个来充当leader,就是通过3888端口
二:在data目录下创建myid文件
注意:myid内的编号与配置文件zoo.cfg文件server.A=hostname:B:C中的A编号相对应,每台服务器的myid都不通,配置都要与zoo.cfg文件配置信息对应
三:启动zookeeper,三台zookeeper
与单机模式相同分别启动三台服务器
[hadoop-hao@hadoop-study01 zookeeper-3.4.5]$ bin/zkServer.sh start
多台服务器时,会自动选出一个作为领导者(leader),其余为跟随者(fllower)
leader
fllower
注意:多台服务器,除了data/myid文件的内容编号不同,其余配置信息都相同,,,