zookeeper集群环境搭建
zookeeper是一个分布式框架,它的用途在今天非常广泛,通常与dubbo一起构成分布式系统,另外kafka消息系统也自带了zookeeper,hadoop集群也少不了zookeeper,zookeeper还可以做配置管理。
zookeeper支持standalone部署,也支持distributed部署,今天介绍distributed方式部署。
机器准备:3台redhat7虚拟机,具体配置如下:
一、安装jdk,下载zookeeper最新版并解压缩。
二、修改配置文件。
#cd zookeeper-3.4.10
#cd conf
#mv zoo_sample.cfg zoo.cfg
#vi zoo.cfg
更改配置如下
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper-3.4.10/data
dataLogDir=/data/zookeeper-3.4.10/logs
clientPort=2181
server.1=linux-node1:2888:3888
server.2=linux-node2:2888:3888
server.3=linux-node3:2888:3888
根据配置文件在zookeeper-3.4.10目录下新建data,logs目录,用来保存数据和日志,一台机器上配置好了之后,再将它们拷贝到另外两台机器上。[aaa@qq.com zookeeper-3.4.10]# mkdir data logs
[aaa@qq.com zookeeper-3.4.10]# scp -r zookeeper-3.4.10 linux-node2:/data/
[aaa@qq.com zookeeper-3.4.10]# scp -r zookeeper-3.4.10 linux-node1:/data/
另外需要在每台机器上zookeeper-3.4.10目录中data目录下新建myid文件,分别写入1,2,3
[aaa@qq.com zookeeper-3.4.10]# echo 1 > data/myid
[aaa@qq.com zookeeper-3.4.10]# echo 2 > data/myid
[aaa@qq.com zookeeper-3.4.10]# echo 3 > data/myid
三、依次启动每台机器上的zookeeper
#bin/zkServer.sh start
启动成功之后,查看状态,发现如下错误:Error contacting service,It is probably not running。
查看启动日志,发现报错。
2017-10-12 09:23:03,511 [myid:3] - WARN [WorkerSender[myid=3]:aaa@qq.com] - Cannot open channel to 1 at election address linux-node1/192.168.61.21:3888
java.net.NoRouteToHostException: No route to host
查看zookeeper进程,发现还在,说明启动没有问题,那么问题可能就出在防火墙上,尝试关闭防火墙,再次查看状态。
每台机器上的防火墙关闭之后,再次查看日志也正常,查看zookeeper的角色也正常,两个follower,一个leader。
同上
还可以通过zookeeper提供的客户端shell,登录zookeeper,查看结点信息。
#bin/zkCli.sh
至此,zookeeper集群环境搭建完成
上一篇: AirPods Pro之后 苹果下款新品或是它:功能史无前例
下一篇: zookeeper 集群搭建