zookeeper简介,集群部署

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yingxiake/article/details/51682632

zookeeper是什么

Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。

这里写图片描述

好像说得比较抽象,举个场景,在集群分布式服务中,我们常常遇到这些问题

1、集群中,每个节点的状态怎么监控,怎么进行负载均衡,一个节点down了,怎么让客户端知道?
2、节点那么多,如果有配置,我们怎么实现修改一个节点的配置,所有的节点都能修改到?
3、我们怎么动态的移除和添加一个节点,难道要停止集群服务,添加移除再重启?
4、怎样简单,快速的管理集群服务?

zookeeper可以帮我实现这些,它简单点就是一个文件系统加通知机制!!

zookeeper能做什么

1、命名服务
我们可以在zookeeper文件系统中建一个唯一的目录,在我们使用tborg无法确定上游程序的部署机器时即可与下游程序约定好路径目录,通过目录路径可以相互发现

2、统一配置
我们可以把配置文件配置到zookeeper的文件系统中,链接到zookeeper的节点只需监控该zookeeper的配置,即可以实现一次配置,所有节点同步

3、集群管理
zookeeper可以帮我们选举master,集群中节点的动态添加和删除以及容灾还有事件通知状态同步

4、分布式锁
zookeeper集群的每个节点的数据都是一致的, 那么我们可以通过这些节点来作为锁的标志。分布式锁能保证集群中任何节点访问数据,数据都一致。

zookeeper安装配置

单节点部署

1、上传zookerper安装包,解压安装包到某个路径下

tar -zxvf zookeeper-3.4.5.tar.gz -C /zookeeper

2、进入到解压目录的conf目录下,将 zoo_sample.cfg复制一份为zoo.cfg

cp zoo_sample.cfg  zoo.cfg

3、进入到解压目录的bin目录下,启动服务

./zkServer.sh start #启动服务
./zkServer.sh stop  #停止服务
./zkServer.sh status #查看服务状态
./zkCli.sh #进入客户端
集群部署

1、修改配置文件zoo.cfg,添加集群配置

dataDir=/home/zookeeper/zookeeper-3.4.5/data
server.101=192.168.137.101:2888:3888 
server.102=192.168.137.102:2888:3888
server.103=192.168.137.103:2888:3888

2、 在/home/zookeeper/zookeeper-3.4.5/创建一个目录为data并创建年一个myid的文件,存放server.N中的N

3、通过ssh将解压包copy到其他机器

scp -rp /home/zookeeper/zookeeper-3.4.5/ root@192.168.137.102:/home/zookeeper/zookeeper-3.4.5/
scp -rp /home/zookeeper/zookeeper-3.4.5/ root@192.168.137.103:/home/zookeeper/zookeeper-3.4.5/

4、注意要把/home/zookeeper/zookeeper-3.4.5/data/myid里面的内容修改为各自的server.N中的N

5、启动服务,需要把三台机器的服务端都启动

./zkServer.sh start #启动服务
./zkServer.sh stop  #停止服务
./zkServer.sh status #查看服务状态
./zkCli.sh #进入客户端

6、进行测试
分俩部,第一部可以在101的机器上创建一个节点,看在102,103是否能获取到节点

./zkCli.sh #进入客户端
[zk: localhost:2181(CONNECTED) 1] create /name liuxg #创建节点
[zk: localhost:2181(CONNECTED) 0] get /name #设置节点

猜你喜欢

转载自blog.csdn.net/yingxiake/article/details/51682632