zookeeper单机集群搭建

1. 下载zookeeper

参考官方文档下载一节:https://zookeeper.apache.org/doc/current/zookeeperStarted.html#sc_Downloadhtml

2. 建立zookeeper多实例

建立一个zookeeper-cluster目录用来存放多个zookeeper实例(下载完成后解压,复制3分,每一份就是一个实例)。能够看到个人zookeeper-cluster目录下有三个zookeeper实例(如图1),对它们分别作以下配置:apache

图1: zookeeper单机集群建立实例spa

1. 配置conf/zoo.cfg3d

图2: server-1的zoo.cfg配置文件code

  • clientPort: zookeeper对客户端开发的端口号,默认为2181,我这里将三个实例分别改成了9200,9201,9202(只要不冲突就好了)
  • tickTime: 基本的时间单元,单位为毫秒
  • dataDir: 存放该实例数据的文件夹路径
  • initLimit: follower与leader初始化的时候须要进行链接的创建,这个初始化所须要的最大时间单位
  • syncLimit: follower与leader进行数据通讯所须要的最大时间单位
  • admin.serverPort: 目前版本的zookeeper内嵌了一个jetty,默认运行在8080端口
  • server.1/2/3: 这里server后面的编号是每个zookeeper实例的id编号,这个id在后面会讲是如何设置的,后面的值格式为ip:port1:port2,ip是本实例运行所在机器的ip地址,port1是当本实例做为一个follower时,与leader进行通讯的端口号,port2是当leader不慎挂掉以后,从新执行选举时所用的端口号(不清楚为何选举须要一个端口号)

 

2. 在第一步中,有一个server.1/2/3,这个编号,在每一个zookeeper实例的建立名为myid的文件,并写入数字做为该server的id编号,这里我对应的每一个实例填写了1,2,3server

图3: zookeeper的dataDir路径下建立myidhtm

3. 启动集群

在每一个实例目录下执行blog

➜  zookeeper-3.5.2-server-1 ./bin/zkServer.sh start
➜  zookeeper-3.5.2-server-2 ./bin/zkServer.sh start
➜  zookeeper-3.5.2-server-3 ./bin/zkServer.sh start

能够经过status查看它们的是leader仍是master,以及一些其余信息ip

➜  zookeeper-3.5.2-server-1 ./bin/zkServer.sh status

图4: 实例1运行的状态-它是一个follower开发

相关文章
相关标签/搜索