一、Zookeeper概述

  1.Zookeeper是Hadoop生态的管理者,它致力于开发和维护开源服务器,实现高度可靠的分布式协调。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  2.Zookeeper的两大功能:

    (1)存储数据

    (2)监听

  3.Zookeeper的工作机制,如图: Zookeeper的概述、安装部署及选举机制 Hadoop

  4.Zookeeper存储结构,以树状结构存储

  5.Zookeeper的应用场景

   (1)集群统一的配置、命名管理

    比如搭建hdfs集群时,修改完配置文件要将文件发送到其他机器中,

    zookeeper可以快速的将配置文件发送到所有机器;

    再比如百度的域名:www.baidu.com,这个域名其实对应了许多服务器,

    zookeeper的一个目录结构命名为baidu,其子节点对应了很多服务器,zookeeper直接分配ip即可。

   (2)服务器的动态上下线感知

    比如qq好友上下线时的提示音

   (3)负载均衡

    可以使每个服务器的访问量大致相同

 

二、Zookeeper集群的安装部署

  1.登陆官网下载安装包(本人使用的是3.4.10),上传到linex集群并解压;

    zookeeper.apache.org

    tar -zxvf zookeeper-3.4.10.tar.gz 

  2.进入zookeeper/conf下,重命名zoo-sample.cfg为zoo.cfg

  进入zoo.cfg文件,修改配置信息:

    dataDir=/root/hd/zookeeper-3.4.10/zkData 
      ################cluster#####################
      server.1=hd1-1:2888:3888
      server.2=hd1-2:2888:3888
      server.3=hd1-3:2888:3888

   保存并退出;

  3.回到zookeepr目录下,创建zkData文件夹,进入该文件夹创建文件myid

    编辑文件myid,内容为1;

  4.将配置好的zookeeper文件夹发送他集群其他机器

    scp -r /root/hd/zookeeper/ hd1-2:/root/hd/ 

  5.修改环境变量(略),并将修改好的环境变量发送到其他机器,并生效!!

  6.启动Zookeeper、关闭Zookeeper、查看状态

    zkServer.sh start

    zkServer.sh stop

    zkServer.sh status

 

三、Zookeeper的选举机制

  描述:

  1.当第一台机器启动时它会给自己一票、第二台启动时前两台机器都会给第二台机器一票,以此类推;

  2.当第n台机器的票数等于zk集群节点数x的x+1/2时,第n台机器会成为集群的leader;

  3.在启动集群时若机器同时启动且票数一样,则会默认选中myid大的机器作为leader。

  4.企业中zookeeper集群的节点数为基数台!且zookeeper集群只要有一半以上的节点存活即可正常工作。

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄