003.Zookeeper集群
Zookeeper Release 3.3.5(stable), 考虑宕机测试,最小多台奇数集群,3台刚合适。
@史荣久 / 2012-06-04 / CC-BY-SA-3.0
1. 依赖文档
制作虚拟机(virtualbox 4.1.2)
zookeeper 集群安装(单点与分布式成功安装)摘录
2. 单机测试
当前最新稳定版,Release 3.3.5(stable)
http://zookeeper.apache.org/doc/r3.3.5/zookeeperStarted.html
http://zookeeper.apache.org/doc/current/zookeeperAdmin.html
入门文档比较简单。单机模式,3步即可。
cp conf/zoo_sample.cfg conf/zoo.cfg
mkdir -p /tmp/zookeeper
bin/zkServer.sh start
3. 三机集群
考虑宕机测试,最小多台奇数集群3台刚合适。
虚拟机环境,参考 制作虚拟机
手册
初始化虚拟机
scp jdk-6u30-linux-i586.bin root@vbox01:/root/
scp zookeeper-3.3.5.tar.gz root@vbox01:/root/
#root@vbox01
cd /usr/local/
chmod +x ~/jdk-6u30-linux-i586.bin
~/jdk-6u30-linux-i586.bin
tar -xzf ~/zookeeper-3.3.5.tar.gz
cat>/etc/profile.d/jdk1.6.0_30.sh<<EOF
export JAVA_HOME=/usr/local/jdk1.6.0_30
export PATH=\$PATH:\$JAVA_HOME/bin
EOF
cat>/etc/profile.d/zookeeper-3.3.5.sh<<EOF
export PATH=\$PATH:/usr/local/zookeeper-3.3.5/bin
export ZOO_LOG_DIR=/var/zookeeper
EOF
cat>/usr/local/zookeeper-3.3.5/conf/zoo.cfg<<EOF
tickTime=2000
dataDir=/var/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=vbox01:2888:3888
server.2=vbox02:2888:3888
server.3=vbox03:2888:3888
EOF
mkdir /var/zookeeper
# 1表示 server.1 对应 vbox01,依次类推。
echo 1 > /var/zookeeper/myid
对vbox02和vbox03重复以上步骤。
唯有最后一步的需要根据主机变更数值。
vbox02数值是2,vbox03是3
4. 注意问题
启动查看和停止,使用以下脚本即可.
zkServer.sh start | status | stop
也可以ps或netstat查看进程或端口.
Cannot open channel to 2 at election address
正常现象为其他zookeeper还未启动完毕,待全部完毕后,自然消失。
java.net.NoRouteToHostException: No route to host
关闭防火墙,或设置规则
chkconfig iptables off
service iptables stop
在zoo.cfg中设置dataLogDir不能把log制定目录,
仍然是输入命令的位置(.)
需要制定ZOO_LOG_DIR
环境变量。
题图:爱下雨,爱蹦水坑。穿上雨衣,雨靴,一趟一趟,一蹦一蹦。