单台部署集群
不建议使用单台部署多台服务,因为并没有实现冗余。使用多台服务器部署zookeeper集群才是生产环境使用的方案。
系统环境
[[email protected] ~]# uname -rm
2.6.32-504.el6.x86_64 x86_64
[[email protected] ~]# cat/etc/redhat-release
CentOS release 6.6 (Final)
设置java堆
交换会严重降低zookeeper的性能,所以设置java对大小非常重要。为了确定正确的值,使用负载测试,确定低于引起交换的使用限制。保守情况下,堆最大值可以使用3G或4G的机器。
[[email protected] ~]# vim /app/zookeeper/conf/java.env
exportJVMFLAGS="-Xmx512m"
设置配置文件
[[email protected] ~]# cd /app/zookeeper/conf/
[[email protected] conf]# cp zoo.cfg zoo.cfg.bak
[[email protected] conf]# mv zoo.cfg zoo1.cfg
[[email protected] conf]#vim zoo1.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zoo1
clientPort=2181
server.1=192.168.56.3:2881:3881
server.2=192.168.56.3:2882:3882
server.3=192.168.56.3:2883:3883
[[email protected] conf]# cp zoo1.cfg zoo2.cfg
[[email protected] conf]# cp zoo1.cfg zoo3.cfg
[[email protected] conf]# sed -i ‘s/2181/2182/g‘ zoo2.cfg
[[email protected] conf]# sed -i ‘s/2181/2183/g‘ zoo3.cfg
[[email protected] conf]# sed -i ‘s/zoo1/zoo2/g‘ zoo2.cfg
[[email protected] conf]# sed -i ‘s/zoo1/zoo3/g‘ zoo3.cfg
[[email protected] conf]# cd
创建数据目录
[[email protected] ~]# mkdir /data/{zoo1,zoo2,zoo3}
创建myid文件
[[email protected] ~]# echo 1>/data/zoo1/myid
[[email protected] ~]# echo 2>/data/zoo2/myid
[[email protected] ~]# echo 3>/data/zoo3/myid
启动
[[email protected] ~]# zkServer.sh start /app/zookeeper/conf/zoo1.cfg
[[email protected] ~]# zkServer.sh start /app/zookeeper/conf/zoo2.cfg
[[email protected] ~]# zkServer.sh start /app/zookeeper/conf/zoo3.cfg
环境变量设置以软件下载地址见部署单台zookeeper
由于个人技术所限有不足之处还请各位指出。可以通过以下两个群找到笔者。
北京linux运维求职招聘群:153677549
Linux运维开发群:298324302