`
haoningabc
  • 浏览: 1442783 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

zookeeper集群安装

阅读更多
好文章http://www.codedump.info/?p=207


测试环境redhat5.5:
vmware建两台虚拟机(btw,似乎双核系统只能建俩,3个就死掉了)
192.168.229.129
192.168.229.130
还有种单机模仿多机的方式
 initLimit=5 
 syncLimit=2 
 server.1=192.168.211.1:2888:3888 
 server.2=192.168.211.2:2888:3888 

参考http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/
这里有例子不错


下载2011年12月15日的最新zookeeper
加压到
/opt/zookeeper-3.4.0/
配置/opt/zookeeper-3.4.0/conf/zoo.cfg
可以把那个例子考过来
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/opt/zookeeper-3.4.0/data/zookeeper
dataLogDir=/opt/zookeeper-3.4.0/data/log
# the port at which the clients will connect
clientPort=2181
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=192.168.229.129:2888:3888
server.2=192.168.229.130:2888:3888


修改/opt/zookeeper-3.4.0/bin/zkServer.sh
status)
    # -q is necessary on some versions of linux where nc returns too quickly, and no stat result is output
    #STAT=`echo stat | nc -q 1 localhost $(grep "^[[:space:]]*clientPort" "$ZOOCFG" | sed -e 's/.*=//') 2> /dev/null| grep Mode`
    STAT=`echo stat | nc localhost $(grep "^[[:space:]]*clientPort" "$ZOOCFG" | sed -e 's/.*=//') 2> /dev/null| grep Mode`

以上这些多台机器一样

log和data都在dataDir下面
如果找不到log了用大招:
ps -ef|grep zookeeper
ls -l /proc/123123/fd
其中有一个是log
然后dataDir建立一个文件myid
在192.168.229.129上
echo 1 >/opt/zookeeper-3.4.0/data/zookeeper/myid
在192.168.229.130上
echo 2 >/opt/zookeeper-3.4.0/data/zookeeper/myid
对应zoo.cfg里面的
注意一定是数字


然后zkServer.sh start 
启动
zkServer.sh status
看状态
echo ruok|nc localhost 2181         
//are you ok?
echo dump|nc localhost 2181
echo stat|nc localhost 2181
echo srst|nc localhost 2181
zkServer.sh stop

其他链接
http://topic.csdn.net/u/20111117/14/388855b1-4531-4dcc-b55c-92b9f637262b.html
分享到:
评论
2 楼 haoningabc 2012-01-09  
sankby 写道
echo ruok|nc localhost 2181
这是什么用法?能不能解释一下

nc类似telnet ,zk开了2181端口,提供了一个测试的api,
ruok就是Are you ok?
如果回答imok  (I am  ok)
就表示正常,
详细看zookeeper的源码
org.apache.zookeeper.server.NIOServerCnxn.java
和org.apache.zookeeper.server.NettyServerCnxn.java
netty实现的nio,
nio的细节linux和windows的不一样,
可以对比jdk在windows下和linux下的的源码包。

1 楼 sankby 2012-01-09  
echo ruok|nc localhost 2181
这是什么用法?能不能解释一下

相关推荐

Global site tag (gtag.js) - Google Analytics