在上一篇博客中我们讲解了《Zookeeper的单机配置》,此篇博客将继续介绍Zookeeper的集群部署与配置。

环境

集群配置的环境与单机配置的环境相同,唯一不同的就是集群是在多台服务器之间配置,当然也有伪集群的配置,也就是在同一台机器上配置多台服务,通过端口号的不同来进行区分。

配置文件

在单机配置文件内增加server项的配置,新增之后的配置文件如下:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper
clientPort=2181
server.1=IP1:2888:3888
server.2=IP2:2888:3888
server.3=IP3:2888:3888

配置项解释:

tickTime: Zookeeper 服务器之间或客户端与服务器之间发送心跳的时间间隔;

initLimit:Leader Zookeeper接收集群其他服务器初始化等待最大时间(10*tickTime);

syncLimit:Leader Zookeeper和集群其他服务器通信最大时间(5*tickTime);

server.id=host:port:port

每一行此配置表示一个集群中的一台服务器。其中id为Server ID,用来标识该机器在集群中的编号。同时,在所在服务器的数据目录(/tmp/zookeeper)下创建一个myid文件,该文件只有一行内容,并且是一个数字,就是对应每台服务器的Server ID数字。

比如server.1=IP1:2888:3888的myid中的内容就是1。不同服务器的ID需要保持不同,并且和zoo.cfg文件中server.id中的id和myid文件的内容保持一致。id的取值范围为1~255。

其中,server.id中配置参数的第一个port是集群中其他机器与Leader之间通信的端口,第二个port为当Leader宕机或其他故障时,集群进行重新选举Leader时使用的端口。

按照以上相同步骤,配置集群中的其他机器。每个集群的zoo.cfg文件都是相同的,可通过版本控制或其他工具保证每台zookeeper服务器的配置文件相同。集群中每台机器唯一不同的是server.id对应的myid文件中的数字不同。

启动验证

完成以上操作之后,启动集群中的服务器,验证服务器状态。此步骤与单机模式相同,不再赘述。

需要注意的是一般zookeeper集群由3~5台服务器组成,即2n+1台机器。后面章节会详细介绍为什么如此。

最新文章

  1. java 数据库连接池
  2. Ruby(rails)win环境下安装
  3. JavaScript判断用户是通过电脑端还是移动端访问
  4. int(M)与int
  5. IDEA激活服務器
  6. centos安装新版的nginx与php,添加memcahced扩展,测试memcached的json序列化
  7. iOS NSDate与NSString之间的相互转换
  8. ACM—Number Sequence(HDOJ1005)
  9. Bootstrap列表组
  10. 201521123068 《java程序设计》 第10周学习总结
  11. python之路(6)迭代器和生成器
  12. mybatis一对多查询之collection的用法
  13. GC垃圾回收
  14. JS 获取最近(前)7天(一周内)和最近(前)3天日期
  15. java 形式参数和实际参数的区别
  16. 牛客练习赛43 Tachibana Kanade Loves Probability(快速幂)
  17. zabbix宏(macro)使用:自定义监控阈值
  18. JAVA设计模式——第 2 章 代理模式【Proxy Pattern】(转)
  19. MVC图片上传详解 IIS (安装SSL证书后) 实现 HTTP 自动跳转到 HTTPS C#中Enum用法小结 表达式目录树 “村长”教你测试用例 引用provinces.js的三级联动
  20. px、pt和em的区别

热门文章

  1. elasticsearch索引清理
  2. shell脚本递归压缩实践
  3. ElasticSearch 例子
  4. 5、Python-字典
  5. javascript 事件冒泡与取消冒泡
  6. $使用dom4j可解析 返回&#x等字样的 html转义字符【转】
  7. C语言指针详解(经典,非常详细)
  8. Java编程思想 学习笔记4
  9. bzoj千题计划307:bzoj5248: [2018多省省队联测]一双木棋
  10. Linux命令(十)打包压缩、软件安装