| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
dd2d
10年前发布

zookeeper 集群安装和配置

zookeeper 集群安装和配置


先主要介绍一下zoo.cfg的基本配置。

tickTime=2000  initLimit=10  syncLimit=5  dataDir=/data  dataLogDir=/datalog  clientPort=2181  electionAlg=3  server.1=127.0.0.1:20881:30881  server.2=127.0.0.1:20882:30882  server.3=127.0.0.1:20883:30883

配置的基本信息

tickTime=2000:毫秒级的基本时间单位,其他时间如心跳/超时等都为该单位时间的整数倍;

initLimit=10:tickTime的倍数,表示leader选举结束后,followers与leader同步需要的时间,leader的数据非常多时或followers比较多,则该值应该适当大一些;

syncLimit=5:tickTime的倍数,表示follower和observer与leader交互时的最大等待时间,只不过是在与leader同步完毕之后,正常请求转发或ping等消息交互时的超时时间。

clientPort=2181:监听客户端连接的服务端口

electionAlg=3:领导选举算法,默认3。(No Java system property)

dataDir=/data:内存数据库快照地址,事务日志地址(除非由 dataLogDir 另行指定)

dataLogDir=/datalog:事务日志目录,可以使用专用的设备,以避免事务日志与快照之间的竞争。

server.x=[hostname]:nnnnn[:nnnnn], etc

集群配置中,在dataDir目录下必须有一个myid文件,其中的值就是数字x,范围是1-255。第一个nnnnn是与leader通讯使用,第二个nnnnn是选举leader使用,electionAlg等于0时不需要此参数。(No Java system property)


在一台机器上开启zookeeper的三个实例,其实就是一个伪集群。集群中的三个配置为:

zookeeper实例一:

tickTime=2000  initLimit=10  syncLimit=5  dataDir=/zookeeper-3.4.6-1/data  dataLogDir=/zookeeper-3.4.6-1/datalog  clientPort=2181  electionAlg=3  server.1=127.0.0.1:20881:30881  server.2=127.0.0.1:20882:30882  server.3=127.0.0.1:20883:30883

zookeeper实例二:

tickTime=2000  initLimit=10  syncLimit=5  dataDir=/zookeeper-3.4.6-2/data  dataLogDir=/zookeeper-3.4.6-2/datalog  clientPort=2182  electionAlg=3  server.1=127.0.0.1:20881:30881  server.2=127.0.0.1:20882:30882  server.3=127.0.0.1:20883:30883

zookeeper实例三:

tickTime=2000  initLimit=10  syncLimit=5  dataDir=/zookeeper-3.4.6-3/data  dataLogDir=/zookeeper-3.4.6-3/datalog  clientPort=2183  electionAlg=3  server.1=127.0.0.1:20881:30881  server.2=127.0.0.1:20882:30882  server.3=127.0.0.1:20883:30883

其中,

dataDir=/zookeeper-3.4.6-1/data  dataLogDir=/zookeeper-3.4.6-1/datalog

该目录为其实例所在的目录下。

最后别忘了在dataDir配置的目录下建立myid文件。好了,集群基本就配置完了。


最后启动每个zookeeper实例。

如下图三个zookeeper实例启动后的状态:

zookeeper 集群安装和配置

zookeeper 集群安装和配置

zookeeper 集群安装和配置


打开任何一个客户端,建立znode,如下,

[zk: localhost:2181(CONNECTED) 3] create /zk_test mydata  Created /zk_test  [zk: localhost:2181(CONNECTED) 4] get /zk_test  mydata  cZxid = 0x600000004  ctime = Mon Mar 16 17:51:58 CST 2015  mZxid = 0x600000004  mtime = Mon Mar 16 17:51:58 CST 2015  pZxid = 0x600000004  cversion = 0  dataVersion = 0  aclVersion = 0  ephemeralOwner = 0x0  dataLength = 6  numChildren = 0  [zk: localhost:2181(CONNECTED) 5]


打开另一个客户端,如下,

[zk: localhost:2181(CONNECTED) 1] get /zk_test  mydata  cZxid = 0x600000004  ctime = Mon Mar 16 17:51:58 CST 2015  mZxid = 0x600000004  mtime = Mon Mar 16 17:51:58 CST 2015  pZxid = 0x600000004  cversion = 0  dataVersion = 0  aclVersion = 0  ephemeralOwner = 0x0  dataLength = 6  numChildren = 0  [zk: localhost:2181(CONNECTED) 2] ls /  [mynode, zookeeper, zk_test]  [zk: localhost:2181(CONNECTED) 3]

一个集群就搭建好了。

参考:http://ibruce.info/2014/10/23/zookeeper/

http://greemranqq.iteye.com/blog/2171449

http://www.cnblogs.com/yuyijq/p/3438829.html


==================================END==================================


 本文由用户 dd2d 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1426574247336.html
分布式/云计算/大数据 ZooKeeper