zookeeper单机集群搭建

摘要:
1.下载动物园管理员。请参阅官方文件下载部分:https://zookeeper.apache.org/doc/current/zookeeperStarted.html#sc_Download2.创建ZooKeeper的多个实例创建一个名为ZooKeepercluster的目录来存储ZooKeeber的多个示例(下载后解压并复制3个副本,每个副本都是一个实例)。你可以看到我的动物园管理员集群

1. 下载zookeeper

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

2. 创建zookeeper多实例

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

zookeeper单机集群搭建第1张

图1: zookeeper单机集群创建实例

1. 配置conf/zoo.cfg

zookeeper单机集群搭建第2张

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

  • 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,3

zookeeper单机集群搭建第3张

图3: zookeeper的dataDir路径下创建myid

3. 启动集群

在每个实例目录下执行

➜  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,以及一些其他信息

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

zookeeper单机集群搭建第4张

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

免责声明:文章转载自《zookeeper单机集群搭建》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MySQL学习笔记——〇一2019 2345网址导航java面试笔试题 (含面试题解析)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

深入浅出--iOS的TCP/IP协议族剖析&&Socket

深入浅出--iOS的TCP/IP协议族剖析&&Socket 简介 该篇文章主要回顾--TCP/IP协议族中的TCP/UDP、HTTP;还有Socket。(--该文很干,酝酿了许久!你能耐心看完吗?) 我在这个文章中,列举了常见的TCP/IP族中的协议,今天主角是--传输层协议。 传输层(Transport Layer)是OSI(七...

.NET Core项目部署时自定义端口号

不管是在Linux系统还是Windows系统部署.NET Core项目,都会有自定义项目端口号的需求 一、默认的端口号 环境:Linux系统/Windows系统。正常情况下,.NET Core项目发布后的默认端口是5000,发布如下: 二、使用UserUrls自定义端口号 环境:Linux系统/Windows系统,.NET Core项目中UserUrls...

使用python操作zookeeper

kazoo 介绍 zookeeper的开发接口以前主要以java和c为主,随着python项目越来越多的使用zookeeper作为分布式集群实现,python的zookeeper接口也出现了很多,现在主流的纯python的zookeeper接口是kazoo。因此如何使用kazoo开发基于python的分布式程序是必须掌握的。 安装kazoo pip3 in...

elk日志收集架构

ELK日志系统整体架构:   结构解读: 整个架构从左到右,总共分为5层 最左边的是业务服务器集群,上面安装了filebeat做日志采集,同时把采集的日志分别发送给多个kafka 服务。 第二层、数据缓存层,把数据转存到本地的kafka broker+zookeeper 集群中。 第三层、数据转发层,这个单独的Logstash节点会实时去kafka br...

分布式存储ShardingSphere 分布式治理 (based on zookeeper)

分布式存储-ShardingSphere 分布式治理 (based on zookeeper) 其实前面几篇,关于shardingSphere的我知道的功能点已经聊得差不多了,但是现在多节点集群部署的方式已经成为了一种趋势,而如果每个节点中的配置文件都需要手动一个个修改的话,那将为运维工作带来了很大的不愉快,所有ShardingShere内部整合了Zk,...

【原创】HBase集群变更zookeeper问题

在用华为的hindex-0.94.8时,出现HMaster启动后很短时间内自动关闭的情况,网上查询说是zookeeper的原因,在万般整修无果舍弃了其内部自带的zookeeper集群,自己安装了zookeeper-3.4.6重启后可以正常使用集群。但是出现一个问题,之前的HBase数据库中的表可以显示但是其中的数据在客户端查询的时候出现org.apache...