ZooKeeper集群搭建

简介:

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的读者带来帮助,小编的认识比较浅,有错误望指出。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值