第一次接触zookeeper,对于它的了解不是很深,现在在linux上搭建zookeeper,先谈谈自己对于zookeeper的浅显理解,有不正确或者片面的地方还请指正。
- zookeeper可用于配置分布式项目的公共配置文件,且可以实时监听配置文件是否有变化,这样我们在修改集群的某项配置的时候,就不需要一台一台去修改了。
- zookeeper在项目初始化的时候可以自动选举主节点,且在主节点挂掉后可以自动选举出一个新的主节点(节点数需要大于等于3,且必须保证正常的节点大于总节点数的一半 + 1,例如 8个或者9个节点下,正常的节点数都要求为5个)
- zookeeper可以用于分布式队列与分布式队列锁,这块目前还没有涉及到,后续如果有涉及或者如果有研究会更新此帖
在我的理解中,zookeeper可以帮助我们管理一个分布式的项目,保证服务的高可用。
接下来就记录下在linux上搭建zookeeper的过程吧,我这里是本地起的三台CentOS6.5的虚拟机。
安装jdk过程略过
先把安装包传上去,解压,进主目录再进 conf 文件夹,将zoo_sample.cfg复制一份,重命名为zoo.cfg
编辑zoo.cfg 文件,先指定dataDir地址,再新建一条配置用于指定目录存放地址 dataLogDir=/home/zax/soft/zookeeper/log
再将你的zk服务地址加进来,其它的配置以及意义百度都能找到,此处不再赘述,我的配置如下(要保证你的data与log目录已经新建好)
配置好后,将2181、2888、3888端口开放防火墙;
然后在data文件夹下新建一个myid文件,里面只用写入一个id , 比如 1 ,此处要注意与配置文件里面的server.序号是否对应 (在1-255之间),且集群内不重复。至此,集群配置完成
./zkServer.sh start 启动
./zkServer.sh restart 重启
./zkServer.sh status 查看状态
./zkServer.sh stop 关闭