Zookeeper集群搭建

一、Java环境安装

Zookeeper 安装时需要依赖于Java环境的安装,由于网上有较多的篇幅讲解Linux 中配置Java环境,故笔者不在多做赘述。(ps:此处由笔者整理了一片简要得到文章可以做参考Linux配置java环境)

二、Zookeeper安装

1、Zookeeper 下载

apache 官网上有下载地址,可直接找对应的版本进行安装即可,笔者编写此文的时候,当前最新版本号为3.6.1,Zookeeper官方下载地址

2、Zookeeper配置

由于Zookeeper集群需要多部署多态服务器,采用leader+follower 模式搭 建,推荐使用2n+1模式进行集群部署。
首先进入到Zookeeper的安装目录下,进入conf文件夹,Zookeeper 官方提供了一个默认的配置,zoo_sample.cfg,复制一份为 zoo.cfg,如下图:
在这里插入图片描述
在这里插入图片描述
各个参数的详细说明:

  • tickTime:ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tickTime。
  • initLimit:Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许F在 initLimit 时间内完成这个工作。通常情况下,我们不用太在意这个参数的设置。如果ZK集群的数据量确实很大了,F在启动的时候,从Leader上同步数据的时间也会相应变长,因此在这种情况下,有必要适当调大这个参数了。(No Java system property)
  • initLimit:在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。注意:不要把这个参数设置得过大,否则可能会掩盖一些问题。(No Java system property)
  • dataDir:存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir, 事务日志的写性能直接影响zk性能。
  • clientPort:客户端连接server的端口,即对外服务端口,一般设置为2181。
  • server.A=B:C:D:A是一个数字,表示这个是第几号服务器,B是这个服务器的IP地址也可以采用hostname的模式进行映射,C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口,D是在leader挂掉时专门用来进行选举leader所用的端口。
    以上为默认的配置参数说明,若要查看更多的参数说明,推荐查看:zookeeper的配置参数详解(zoo.cfg)

配置完以上相关服务后,在末尾追加
server.1=master1:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
ps:master1,slave1,slave2 可以更换为自己机器的ip地址

3、创建ServerID标识

除了修改zoo.cfg配置文件外,zookeeper集群模式下还要配置一个myid文件,这个文件需要放在dataDir目录下。
这个文件里面有一个数据就是A的值(该A就是zoo.cfg文件中server.A=B:C:D中的A),在zoo.cfg文件中配置的dataDir路径中创建myid文件。
在dataDir目录下分别执行 echo A > myid
在这里插入图片描述

三、启动集群并查看状态

1、启动各个节点

进入到Zookeeper安装目录下,找到bin文件夹,里面有Zookeeper的相关命令

[root@localhost bin]# pwd
/usr/local/wbj/zookeeper/apache-zookeeper-3.6.1-bin/bin
[root@localhost bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/wbj/zookeeper/apache-zookeeper-3.6.1-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@localhost bin]#

若启动过程中出错,可以使用:./zkServer.sh start-foreground 命令,将日志展示到前端进行查看,根据前端具体的错误信息进行对应的解决

2、查看每个节点的状态

通过 ./zkServer.sh status 命令即可查看对应的启动状态,如下,当前节点通过选举后,标记为leader

[root@localhost bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/wbj/zookeeper/apache-zookeeper-3.6.1-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@localhost bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/wbj/zookeeper/apache-zookeeper-3.6.1-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: leader
[root@localhost bin]#

至此,Zookeeper集群就搭建完毕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值