zookeeper分布式安装
来源:互联网 发布:mac输入法切换设置 编辑:程序博客网 时间:2024/06/04 19:17
一、选举机制(FastLeaderElection算法):sid最大且被超过集群中超过半数的机器拥护就会成为leader.
所以只有两种情况无法选出leader:
整个集群只有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 会监听这个端口,接受客户端的访问请求。
- server.0=233.34.9.144:2008:6008
- server.1=233.34.9.145:2008:6008
- server.2=233.34.9.146:2008:6008
- server.3=233.34.9.147:2008:6008
- 服务器名称与地址:集群信息(服务器编号,服务器地址,服务器与集群中的leader交换的信息的端口,选举新leader时服务器间相互通信的端口)
- 一般来说,集群中每个服务器的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
- Zookeeper分布式安装手册
- zookeeper分布式安装
- Zookeeper分布式安装手册
- zookeeper分布式安装
- Zookeeper分布式安装手册
- Zookeeper伪分布式安装
- zookeeper伪分布式安装
- zookeeper 伪分布式安装
- ZooKeeper伪分布式安装
- zookeeper完全分布式安装
- Zookeeper伪分布式安装
- Zookeeper分布式安装配置
- zookeeper分布式安装
- Zookeeper分布式安装
- ZooKeeper分布式 安装部署
- hadoop分布式安装zookeeper
- zookeeper 分布式集群安装
- zookeeper分布式集群安装
- 华为上机考试-2016-8-29
- setInterval() 方法和setTimeout() 方法
- Ecshop开发经验
- 基于docker 下的 RabbitMQ 编译安装
- 最大子数组和
- zookeeper分布式安装
- spring-cache 雪崩
- 七牛云存储之上传回调
- 使用HttpClient测试SpringMVC的接口
- Android RESTful API 设计指南
- MYSQL-索引
- C# 操作word,excel网文大全
- iOS开发之main函数参数的解析
- Linux网络编程 - 网络通信基础