欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Zookeeper的概述、安装部署及选举机制

程序员文章站 2022-08-21 16:31:58
一、Zookeeper概述 1.Zookeeper是Hadoop生态的管理者,它致力于开发和维护开源服务器,实现高度可靠的分布式协调。 2.Zookeeper的两大功能: (1)存储数据 (2)监听 3.Zookeeper的工作机制,如图: 4.Zookeeper存储结构,以树状结构存储 5.Zoo ......

一、zookeeper概述

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

  2.zookeeper的两大功能:

    (1)存储数据

    (2)监听

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

  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集群只要有一半以上的节点存活即可正常工作。