码迷,mamicode.com
首页 > 其他好文 > 详细

zookeeper 集群安装和配置

时间:2015-03-17 08:15:05      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

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实例启动后的状态:

技术分享

技术分享

技术分享


打开任何一个客户端,建立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==================================


zookeeper 集群安装和配置

标签:

原文地址:http://my.oschina.net/xinxingegeya/blog/387632

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!