Zookeeper伪分布式集群环境搭建过程

前言

  • ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,目前很多架构都基于它来实现配置维护、域名服务、分布式同步、组服务等等。

  • ZooKeeper的基本运转流程:
    1.选举Leader
    2.同步数据
    3.选举Leader过程中算法有很多,但要达到的选举标准是一致的
    4.Leader要具有最高的zxid
    5.集群中大多数的机器得到响应并follow选出的Leader

环境说明

Zookeeper的部署主要是三种方式:单机模式、集群模式、伪集群模式,本文主要是伪集群模式的搭建过程(集群模式也类似)。

  • 系统环境:Ubuntu 14.04、JDK1.8
  • 所需工具:Zookeeper-3.4.9

下载zookeeper包

$ curl -O https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz

新建5个空目录

$ mkdir -pv /zookeeper/server001
$ mkdir -pv /zookeeper/server002
$ mkdir -pv /zookeeper/server003
$ mkdir -pv /zookeeper/server004
$ mkdir -pv /zookeeper/server005

在每个目录中分别创建data和logs文件夹

解压下载的zookeeper包

$ tar zxvf zookeeper-3.4.9.tar.gz

修改配置文件

Zookeeper 的配置文件主要在conf目录,包括zoo.cfg (zoo_sample.cfg)log4j.properties,修改 zoo_sample.cfg,重命名为zoo.cfg,打开zoo.cfg,将内容修改为如下:

tickTime=2000
initLimit=10
syncLimit=5

dataDir=/zookeeper/server001/data
dataLogDir=/zookeeper/server001/logs

clientPort=2181

server.1=127.0.0.1:8881:7771
server.2=127.0.0.1:8882:7772
server.3=127.0.0.1:8883:7773
server.4=127.0.0.1:8884:7774
server.5=127.0.0.1:8885:7775

参数说明:

tickTime:心跳时间,为了确保连接存在的,以毫秒为单位,最小超时时间为两个心跳时间
initLimit:多少个心跳时间内,允许其他server连接并初始化数据,如果ZooKeeper管理的数据较大,则应相应增大这个值
clientPort:服务的监听端口
dataDir:用于存放内存数据库快照的文件夹,同时用于集群的myid文件也存在这个文件夹里(注意:一个配置文件只能包含一个dataDir字样,即使它被注释掉了。)
dataLogDir:用于单独设置transaction log的目录,transaction log分离可以避免和普通log还有快照的竞争
syncLimit:多少个tickTime内,允许follower同步,如果follower落后太多,则会被丢弃。

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

将zookeeper文件夹拷贝到/zookeeper/server001/下,并在 /zookeeper/server001/data/下创建一个myid文件,内容为1

$ echo 1 | sudo dd of=/zookeeper/server001/data/myid

配置伪集群中的另外几台Zookeeper

继续修改~/zookeeper/目录中的zookeeper配置文件文件中的dataDir、dataLogDir、clientPort配置(server002的配置文件,注意clientPort=2182,与 server001 中的clientPort=2181不同,后续修改配置均需设置不同的 clientPort),修改后内容如下:

tickTime=2000
initLimit=10
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值