1

zookeeper 伪集群安装

Time : 20181024

环境

  1. centos7
  2. zookeeper-3.4.6

zookeerper安装启动

  1. 将下载好的zookeeper-3.4.6.tar通过xftp或者其他上传到服务器目录/home/softwares/zookeeper下
  2. 执行 tar -zxvf zookeeper-3.4.6.tar;
  3. 将解压的文件进行重新命名 mv -f zookeeper-3.4.6 zookeeper
  4. cd zookeeper/conf 进入到文件夹下找到 zoo_simple.cfg
  5. cp -p zoo.simple.cfg zoo.cfg;创建zoo.cfg配置文件,zookeeper在启动时会默认的找到
  6. 进行文件的内容修改 vim zoo.cfg

       # The number of milliseconds of each tick
       tickTime=2000
       # The number of ticks that the initial
       # synchronization phase can take
       initLimit=10
       # The number of ticks that can pass between
       # sending a request and getting an acknowledgement
       syncLimit=5
       # the directory where the snapshot is stored.
       dataDir=/home/softwares/zookeeper/zk/data/data
       dataLogDir=/home/softwares/zookeeper/zk/dataLog/datalog
       # the port at which the clients will connect
       clientPort=2181
  7. 进行启动 cd /home/softwares/zookeeper/zookeeper/bin;
    ./zkServer start;

进行zookeeper集群搭建

在单机上进行部署集群的话只需要在启动的时候带上响应的配置文件

  1. cd /home/softwares/zookeeper/zk;
  2. 创建配置中心文件夹 mkdir conf
  3. 将默认的配置文件 zoo.cfg 或者 zoo_simple.cfg复制到当前目录
    cp -p /home/softwares/zookeeper/zookeeper/conf/zoo.cfg zoo1/cfg
  4. 修改配置文件
    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/home/softwares/zookeeper/zk/data/data_1
    dataDirLog=/home/softwares/zookeeper/zk/datalog/datalog_1
    #dataDir=/home/softwares/zookeeper/zk/data/data_2
    #dataDirLog=/home/softwares/zookeeper/zk/datalog/datalog_2
    #dataDir=/home/softwares/zookeeper/zk/data/data_3
    #dataDirLog=/home/softwares/zookeeper/zk/datalog/datalog_3
    clientPort=2181

    server.0=localhost:2287:3387
    server.1=localhost:2288:3388
    server.2=localhost:2289:3389

  5. 进行其他配置文件的编写
    cp zoo1.cfg zoo2.cfg; cp zoo1.cfg zoo3.cfg;
    修改文件中的dataDir以及dataLogDir以及端口号
  6. 配置集群需要的myid
    /home/softwares/zookeeper/zk/data/data_1 下创建myid echo 1 > myid
    /home/softwares/zookeeper/zk/data/data_2 下创建myid echo 2 > myid
    /home/softwares/zookeeper/zk/data/data_3 下创建myid echo 0 > myid
  7. 分别启动即可 : 在zkServer目录下 ./zkServer start ../../../zk/conf/zoo1.cfg
  8. 查看状态 : ./zkServer status ../../../zk/conf/zoo1.cfg

参数配置说明

  1. initLimit
    ZooKeeper集群模式下包含多个zk进程,其中一个进程为leader,余下的进程为follower。
    当follower最初与leader建立连接时,它们之间会传输相当多的数据,尤其是follower的数据落后leader很多。initLimit配置follower与leader之间建立连接后进行同步的最长时间。
  2. syncLimit
    配置follower和leader之间发送消息,请求和应答的最大时间长度。
  3. tickTime
    tickTime则是上述两个超时配置的基本单位,例如对于initLimit,其配置值为5,说明其超时时间为 2000ms * 5 = 10秒。
  4. dataLogDir
    dataLogDir指定的路径是事务日志保存路径
  5. dataDir
    dataDir指定的路径是快照保存路径,当没有指定dataLogDir路径时,事务日志也会保存在该目录下
  6. server.id=host:port1:port2
    其中id为一个数字,表示zk进程的id,这个id也是dataDir目录下myid文件的内容。
    host是该zk进程所在的IP地址,port1表示follower和leader交换消息所使用的端口,port2表示选举leader所使用的端口。
    其配置的含义跟单机模式下的含义类似,不同的是集群模式下还有一个myid文件。myid文件的内容只有一行,且内容只能为1 - 255之间的数字,这个数字亦即上面介绍server.id中的id,表示zk进程的id

郭鹏飞
12 声望3 粉丝

有志者事竟成,向着心中的目标(20K)努力