美文网首页
Zookeeper安装

Zookeeper安装

作者: XuDongTian | 来源:发表于2017-06-07 14:08 被阅读62次

    1  Zookeeper基本框架

    Zookeeper集群主要角色有Leader,Learner(Follower,Observer(当服务器增加到一定程度,由于投票的压力增大从而使得吞吐量降低,所以增加了Observer。)以及client:

    Leader:领导者,负责投票的发起和决议,以及更新系统状态

    Follower:接受客户端的请求并返回结果给客户端,并参与投票

    Observer:接受客户端的请求,将写的请求转发给leader,不参与投票。Observer目的是扩展系统,提高读的速度。

    Client:客户端,想Zookeeper发起请求。

    Zookeeper的基本框架图如下

    1.2 zookeeper集群节点个数

    zookeeper节点部署的越多,服务的可靠性也就越高。当然建议最好是部署奇数个,偶数个不是不可以。但是zookeeper集群是以宕机个数过半才会让整个集群宕机的,所以奇数个集群更佳,最好部署3,5,7个zookeeper节点。本次实验我们是以3个节点进行(centos6)。

    二、zookeeper安装

    2.1安装jdk

    2.2安装zookeeper

    [root@localhost ~]# cd /usr/local/

    [root@localhost local]# wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz

    [root@localhost local]# tar -xf zookeeper-3.4.8.tar.gz && rm -rf zookeeper-3.4.8.tar.gz && mv zookeeper-3.4.8 zookeeper && cd zookeeper && cp conf/zoo_sample.cfg conf/zoo.cfg

    把zookeeper加入到环境变量,如下:

    [root@localhost zookeeper]# vim /etc/profile

    执行source命令使刚刚修改的环境生效,如下:

    [root@localhost zookeeper]# source /etc/profile

    [root@localhost zookeeper]# env

    2.3修改zookeeper配置文件

    [root@localhost zookeeper]# vim /usr/local/zookeeper/conf/zoo.cfg

    tickTime=2000

    initLimit=10

    syncLimit=5

    dataDir=/usr/local/zookeeper/data

    dataLogDir=/usr/local/zookeeper/logs

    server.1= 192.168.1.2:2888:3888

    server.2= 192.168.1.3:2888:3888

    server.3= 192.168.1.4:2888:3888

    clientPort=2181

    配置文件参数说明:

    tickTime这个时间是作为zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是说每个tickTime时间就会发送一个心跳。

    initLimit这个配置项是用来配置zookeeper接受客户端(这里所说的客户端不是用户连接zookeeper服务器的客户端,而是zookeeper服务器集群中连接到leader的follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。

    当已经超过10个心跳的时间(也就是tickTime)长度后 zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20秒。

    syncLimit这个配置项标识leader与follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是5*2000=10秒。

    dataDir顾名思义就是zookeeper保存数据的目录,默认情况下zookeeper将写数据的日志文件也保存在这个目录里;

    clientPort这个端口就是客户端连接Zookeeper服务器的端口,Zookeeper会监听这个端口接受客户端的访问请求;

    server.A=B:C:D中的A是一个数字,表示这个是第几号服务器,B是这个服务器的IP地址,C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口,D是在leader挂掉时专门用来进行选举leader所用的端口。

    2.4创建相关目录

    [root@localhost zookeeper]# mkdir -p /usr/local/zookeeper/{data,logs}

    2.5创建ServerID标识

    除了修改zoo.cfg配置文件外,zookeeper集群模式下还要配置一个myid文件,这个文件需要放在dataDir目录下。

    这个文件里面有一个数据就是A的值(该A就是zoo.cfg文件中server.A=B:C:D中的A),在zoo.cfg文件中配置的dataDir路径中创建myid文件。

    在192.168.1.2服务器上创建myid文件,并设置为1,同时与zoo.cfg文件里面的server.1对应,如下:

    echo "1" > /usr/local/zookeeper/data/myid

    在192.168.1.3服务器上创建myid文件,并设置为2,同时与zoo.cfg文件里面的server.2对应,如下:

    echo "2"  > /usr/local/zookeeper/data/myid

    在192.168.1.4服务器上创建myid文件,并设置为2,同时与zoo.cfg文件里面的server.2对应,如下:

    echo "3" > /usr/local/zookeeper/data/myid

    三、启动zookeeper,查看集群

    启动:

    [root@localhost zookeeper]# bin/zkServer.sh start

    注意:在启动第一台zookeeper的时候可能会报错,等三台zookeeper全部启动完成之后就不会报错了。

    查看状态:

    [root@localhost zookeeper]# bin/zkServer.sh status

    四、连接zookeeper集群

    [root@localhost zookeeper]# bin/zkCli.sh -server 192.168.1.3:2181

    安装完成。。。

    相关文章

      网友评论

          本文标题:Zookeeper安装

          本文链接:https://www.haomeiwen.com/subject/hmqsbttx.html