zookeeper

一、zookeeper下载

zookeeper下载可以直接去官网进行下载

 https://zookeeper.apache.org/releases.html ,可以选择最新版本进行下载

如果有打不开的情况,可以选择csdn下载,http://download.csdn.net/detail/molong1208/9712643

二、单机模式

在windows环境下的时候,将conf文件夹下面的zoo_simple.cfg改成名字为zoo.cfg,然后直接zkServer.cmd就可以启动服务端,运行zkCli.cmd可以运行启动客户端,其中zoo.cfg里面的配置的含义如下:

ickTime

时长单位为毫秒,为zk使用的基本时间度量单位。例如,1 * tickTime是客户端与zk服务端的心跳时间,2 * tickTime是客户端会话的超时时间。 tickTime的默认值为2000毫秒,更低的tickTime值可以更快地发现超时问题,但也会导致更高的网络流量(心跳消息)和更高的CPU使用率(会话的跟踪处理)。

clientPort

zk服务进程监听的TCP端口,默认情况下,服务端会监听2181端口。

dataDir

无默认配置,必须配置,用于配置存储快照文件的目录。如果没有配置dataLogDir,那么事务日志也会存储在此目录。

在linux环境下的话,运行./zkServer.sh start就可以在后台运行,如果需要查看日志在前台运行等信息的话,直接运行zkServer.sh start-foreground

在linux下客户端连接zookeeper的话,使用的命令为./zkCli.sh 如果想要连到指定的ip为bin/zkCli.sh -server 192.168.0.1:2181

三、集群模式

在集群模式下,所有的zk进程可以使用相同的配置文件(是指各个zk进程部署在不同的机器上面),例如如下配置:

tickTime=2000

dataDir=/home/myname/zookeeper

clientPort=2181

initLimit=5

syncLimit=2

server.1=192.168.1.100:2888:3888

server.2=192.168.1.101:2888:3888

server.3=192.168.1.102:2888:3888

initLimit 

ZooKeeper集群模式下包含多个zk进程,其中一个进程为leader,余下的进程为follower。

   当follower最初与leader建立连接时,它们之间会传输相当多的数据,尤其是follower的数据落后leader很多。initLimit配置follower与leader之间建立连接后进行同步的最长时间。

syncLimit 

配置follower和leader之间发送消息,请求和应答的最大时间长度。

tickTime

tickTime则是上述两个超时配置的基本单位,例如对于initLimit,其配置值为5,说明其超时时间为 2000ms * 5 = 10秒。

  server.id=host:port1:port2 

其中id为一个数字,表示zk进程的id,这个id也是dataDir目录下myid文件的内容。

host是该zk进程所在的IP地址,port1表示follower和leader交换消息所使用的端口,port2表示选举leader所使用的端口。

dataDir 

其配置的含义跟单机模式下的含义类似,不同的是集群模式下还有一个myid文件。myid文件的内容只有一行,且内容只能为1 - 255之间的数字,这个数字亦即上面介绍server.id中的id,表示zk进程的id。

注意

如果仅为了测试部署集群模式而在同一台机器上部署zk进程,server.id=host:port1:port2配置中的port参数必须不同。但是,为了减少机器宕机的风险,强烈建议在部署集群模式时,将zk进程部署不同的物理机器上面。

参考:

  http://blog.csdn.net/lihao21/article/details/51778255

  http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html

最新文章

  1. AngularJS中的指令全面解析(转载)
  2. springMVC基础controller类
  3. mysql ERROR 1045 (28000): 错误解决办法
  4. JavaScript开发原生App模式能否突出重围?
  5. epoll
  6. Mike的农场 (BZOJ 4177)
  7. OpenXml 入门----OpenXml Tools使用技巧
  8. ios中的category与extension
  9. js运算之比较大小
  10. Java汉字排序(1)排序前要了解的知识(数组和list的排序接口)
  11. XML新增、修改、选择
  12. linux杂谈(二十):apache服务配置
  13. C# txt文件读写
  14. JSP的学习(1)——基本知识与底层原理
  15. caffe卷积输入通道如何到输出通道
  16. HBase应用快速学习
  17. 201521123063 《Java程序设计》 第7周学习总结
  18. ASP.NET CORE系列【一】搭建ASP.NET CORE项目
  19. JAVA面向对象-----访问修饰符
  20. Java数据结构面试题,输出 最后一个 出现次数为1的字符

热门文章

  1. Object中有哪些公用方法?
  2. 前端每日实战:45# 视频演示如何用纯 CSS 创作一个菱形 loader 动画
  3. zabbix agentd错误日志解决办法
  4. Python3-unittest测试框架之DDT数据驱动
  5. IDEA git 合并多个commit
  6. BZOJ 4407: 于神之怒加强版 莫比乌斯反演 + 线筛积性函数
  7. 51nod1600 Simple KMP
  8. 2019ICPC上海网络赛A 边分治+线段树
  9. js 通过浏览器直接打开应用程序(IOS,Android)
  10. foreach on Request.Files