zookeeper单机集群搭建
1. 下载zookeeper
参考官方文档下载一节:https://zookeeper.apache.org/doc/current/zookeeperStarted.html#sc_Download
2. 创建zookeeper多实例
创建一个zookeeper-cluster目录用来存放多个zookeeper实例(下载完成后解压,复制3分,每一份就是一个实例)。可以看到我的zookeeper-cluster目录下有三个zookeeper实例(如图1),对它们分别做如下配置:

图1: zookeeper单机集群创建实例
1. 配置conf/zoo.cfg

图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

图3: zookeeper的dataDir路径下创建myid
3. 启动集群
在每个实例目录下执行
➜ zookeeper-3.5.-server- ./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.-server- ./bin/zkServer.sh status

图4: 实例1运行的状态-它是一个follower
zookeeper单机集群搭建的更多相关文章
- 分享知识-快乐自己:zookeeper 伪集群搭建
1):单一 zookeeper 搭建步骤 2):zookeeper 伪集群搭建 1):新建一个集群目录 [root@zoodubbo opt]# mkdir zookeeper_cluster 2) ...
- RabbitMQ入门教程(十四):RabbitMQ单机集群搭建
原文:RabbitMQ入门教程(十四):RabbitMQ单机集群搭建 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://b ...
- zookeeper伪集群搭建
zookeeper伪集群搭建 1. 下载zookeeper: https://zookeeper.apache.org/ 2. 解压: tar -zxvf zookeeper-3.4.14.tar.g ...
- zookeeper 单机. 集群环境搭建
zookeeper分布式系统中面临的很多问题, 如分布式锁,统一的命名服务,配置中心,集群的管理Leader的选举等 环境准备 分布式系统中各个节点之间通信,Zookeeper保证了这个过程中 数据的 ...
- 初始zookeeper与集群搭建实例
zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,应用于分布式应用的协作服务, ...
- 初识ZooKeeper与集群搭建实例
原文链接:http://www.linuxidc.com/Linux/2015-02/114230.htm zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Ch ...
- Zookeeper分布式集群搭建
实验条件:3台安装linux的机子,配置好Java环境. 步骤1:下载并分别解包到每台机子的/home/iHge2k目录下,附上下载地址:http://mirrors.cnnic.cn/apache/ ...
- Zookeeper + Kafka 集群搭建
第一步:准备 1. 操作系统 CentOS-7-x86_64-Everything-1511 2. 安装包 kafka_2.12-0.10.2.0.tgz zookeeper-3.4.9.tar.gz ...
- [dubbo实战] dubbo+zookeeper伪集群搭建
zookeeper作为注册中心,服务器和客户端都要访问,如果有大量的并发,肯定会有等待.所以可以通过zookeeper集群解决. 一.为什么需要zookeeper呢? 大部分分布式应用需要一个主控.协 ...
随机推荐
- 怎样动态地插入不会暴露给用户的JS文件
也是无意间看见的,以前想过这个问题,但是没多想,今天看到这段代码豁然开朗 (function() { var dynamicScript = document.createElement('scrip ...
- ubuntu18虚拟机克隆之后ip相同的解决方案
最近使用虚拟机装ubuntu18.04,克隆后发现ip是相同的,应为克隆采用的是文件克隆,所以所有的东西都一样.解决最简单的方法就是修改mac然后启动使用netplan apply命令,重启reboo ...
- 20155220 2016-2017-2 《Java程序设计》第七周学习总结
20155220 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 Lambda 如果使用JDK8的话,可以使用Lambda特性去除重复的信息. 在只有Lamb ...
- Anaconda3 指南
Anaconda 是一个 Python 的生态.它包含很多的科学计算库和大数据处理工具等. $ python --version Python 3.6.1 :: Anaconda 4.4.0 (64- ...
- QWidget窗口类
import sys from PyQt5.QtWidgets import QWidget, QApplication,QPushButton from PyQt5.QtGui import QIc ...
- 第16月第12天 CABasicAnimation 旋转加速
1. ; double duration = 10.0f; ; i<count; i++) { //旋转动画 CABasicAnimation *anima3 = [CABasicAnimati ...
- linux 中的 open() read() write() close() 函数
1. open()函数 功能描述:用于打开或创建文件,在打开或创建文件时可以指定文件的属性及用户的权限等各种参数. 所需头文件:#include <sys/types.h>,#includ ...
- phantomjs 截取twitter的网页(动态生成的页面)
// This example shows how to render pages that perform AJAX calls// upon page load.//// Instead of w ...
- centos环境无法安装paramiko的问题解决
yum install openssl-devel yum install pycrypto yum install python-devel 全部安装完毕后执行pip install paramik ...
- genstr.py
#!/usr/bin/python #-*- coding:utf-8 –*- import os import sys import re import shutil import xlrd imp ...