zookeeper简介,集群部署
Posted node2017
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zookeeper简介,集群部署相关的知识,希望对你有一定的参考价值。
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 #设置节点
以上是关于zookeeper简介,集群部署的主要内容,如果未能解决你的问题,请参考以下文章