关闭

zookeeper分布式安装

标签: zookeeper
186人阅读 评论(0) 收藏 举报
分类:

一、选举机制(FastLeaderElection算法):sid最大且被超过集群中超过半数的机器拥护就会成为leader.

所以只有两种情况无法选出leader:

  1. 整个集群只有2台服务器(注意不是只剩2台,而是集群的总节点数为2)

  2. 整个集群超过半数机器挂掉。

 所谓的偶数问题其实是另一个集群优化配置问题,即:集群的容灾数量=集群总节点数/2-1

假如集群有5节点,那么最多允许2个节点挂掉,如果有3节点挂了,那么整个集群的选举结果不会满足条件:集群中超过半数的机器拥护。

假如集群有6个节点,那么最多也只能挂掉2台,因为挂了3台时,选举结果也不会满足条件:集群中超过半数的机器拥护。

结果可以看出,多那一台用处并不大。所以集群总数推荐为奇数。


二、另外还有一个灰常关键的设置,在每个zk server配置文件的dataDir所对应的目录下,必须创建一个名为myid的文件,其中的内容必须与zoo.cfg中server.x 中的x相同,即:

/home/hadoop/tmp/zk/data/myid 中的内容为1,对应server.1中的1
/home/hadoop/tmp/zk/data/myid 中的内容为2,对应server.2中的2
/home/hadoop/tmp/zk/data/myid 中的内容为3,对应server.3中的3


三、设置dataDir和日志目录

dataDir=/var/zookeeper

dataLogDir=/var/zookeeper


四、设置端口

clientPort=2181 //客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。

  1. server.0=233.34.9.144:2008:6008  
  2. server.1=233.34.9.145:2008:6008  
  3. server.2=233.34.9.146:2008:6008  
  4. server.3=233.34.9.147:2008:6008  

  5. 服务器名称与地址:集群信息(服务器编号,服务器地址,服务器与集群中的leader交换的信息的端口选举新leader时服务器间相互通信的端口
  6. 一般来说,集群中每个服务器的A端口都是一样,每个服务器的B端口也是一样。但是当所采用的为伪集群时,IP地址都一样,只能时A端口和B端口不一样。
五、其他配置参数含义

1.tickTime:CS通信心跳数

Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。

2.initLimit:LF初始通信时限
集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。

3.syncLimit:LF同步通信时限
集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。

六、依次启动集群中的zk(bin/zkServer.sh start)
输出日志在zookeeper.out
全部启动完成前会报错,全部启动错误消失。
jsp查看会有QuorumPeerMain进程

七、连接到zookeeper

$ bin/zkCli.sh -server 127.0.0.1:2181


0
0

猜你在找
【套餐】Hadoop生态系统零基础入门
【套餐】嵌入式Linux C编程基础
【套餐】2017软考系统集成项目——任铄
【套餐】Android 5.x顶级视频课程——李宁
【套餐】深度学习入门视频课程——唐宇迪
【直播】广义线性模型及其应用——李科
【直播】从0到1 区块链的概念到实践
【直播】计算机视觉原理及实战——屈教授
【直播】机器学习之凸优化——马博士
【直播】机器学习&数据挖掘7周实训--韦玮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:149068次
    • 积分:1892
    • 等级:
    • 排名:千里之外
    • 原创:66篇
    • 转载:29篇
    • 译文:0篇
    • 评论:7条
    文章分类
    最新评论