您的位置:首页 > 其它

ZooKeeper集群搭建

2018-01-07 21:04 190 查看

简介:

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

ZooKeeper的集群:

下图是一个ZK集群的实例,该Zookeeper集群当中一共有5台服务器,有两种角色Leader和Follower,5台服务器连通在一起,客户端分别连在不同的ZK服务器上。如果当数据通过客户端1,在左边第一台Follower服务器上做了一次数量变更,它会把这个数据的变化同步到其他所有的服务器,同步结束之后,其他的客户端都会获得这个数据的变化。



通常ZooKeeper集群当中,集群中的服务器角色有两种Leader和Learner,Learner角色又分为Observer和Follwer。

leader(领导者):

负责进行投票的发起和决议,更新系统状态。

learner(学习者):

包括follower(跟随者)和observer(观察者)。follower用于接受客户端请求并向客户端返回结果,在选主过程中参与投票。Observer可以接受客户端请求,将写请求转发给leader,但observer不参与投票过程,只同步leader的状态,observer的目的是为了扩展系统,提高读取速度。

client(客户端):请求发起方。

zookeeper集群搭建:

这次用一个虚拟机,在里面搭建zookeeper三个实例。

第一步:

把zookeeper的安装包上传到服务器。

第二步:

把zookeeper解压 tar -zxf zookeeper-3.4.6.tar.gz



第三步:

把zookeeper向/usr/local/solr-cloud目录下赋值三份。





第四步:

配置zookeeper。

1、在zookeeper01目录下创建一个data文件夹



2、在data目录下创建一个myi的文件

3、myid的内容为1



4、zookeeper02和zookeeper03也做相同的操作,02对应的myid内容为2,03中对应的myid内容为3。





5、进入conf文件夹(/usr/local/solr-cloud/zookeeper01/conf/),把zoo_sample.cfg改名为zoo.cfg或将zoo_sample.cfg复制一份命名为zoo.cfg。(zookeeper02和zookeeper03中做同样的操作5~8)

这里用的是后者





6、修改zoo.cfg,使dataDir=属性制定为刚创建的data文件夹路径

7、修改zoo.cfg,把clientPort指定为不冲突的端口号。

8、在zoo.cfg最后添加3个server对应的内容,具体的ip要根据实际的ip做修改。

(6-8的修改对应下图)





注:zookeeper02中zoo.cfg文件修改参考:



zookeeper03中zoo.cfg文件修改参考:



第五步:启动zookeeper、查看状态、关闭

zookeeper的bin目录了下,使用./zkServer.sh start启动zookeeper服务。./zkServer.sh status查看zk服务的状态,这时候可以通过显示信息中的Mode查看zk在zk集群中的角色。./zkServer.sh stop关闭zk服务。







总结:

对zk的学习从基础的开始接触,一步步的积累,这次通过集群的搭建有了新的认识,希望能给接触zk的读者带来帮助,小编的认识比较浅,有错误望指出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: