本文版权归 远方的风lyh和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。

       【这里是在一台机器上搭建的 zk伪集群】

  1.从官网下载下载zk http://apache.fayea.com/zookeeper/

    解压 并复制三套zk,这里我使用三台zk实例(server,演示使用3.4.7版本)

    为什么使用三台zk?

      在zookeeper的选举过程中,为了保证选举过程最后能选出leader,就一定不能出现两台机器得票相同的僵局,所以一般的,要求zk集群的server数量一定要是奇数,也就是2n+1 台,并且,如果集群出现问题,其中存活的机器必须大于n+1台,否则leader无法获得多数server的支持,系统就自动挂掉。所以一般是3个或者3个以上节点。

    

 

  2.配置zk配置文件 conf/zoo.cfg(若没有请自建)

  zk1-3.4.7

clientPort = 2181
dataDir=/tmp/zookeeper/1
syncLimit=5
tickTime=2000
initLimit=10
dataLogDir=/tmp/zookeeper/1
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890

  zk2-3.4.7

clientPort = 2182
dataDir=/tmp/zookeeper/2
syncLimit=5
tickTime=2000
initLimit=10
dataLogDir=/tmp/zookeeper/2
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890

  zk3-3.4.7

clientPort = 2183
dataDir=/tmp/zookeeper/3
syncLimit=5
tickTime=2000
initLimit=10
dataLogDir=/tmp/zookeeper/3
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890

  *说明:红色部分路径, 要自行创建相关目录

  3.创建myid

  终端执行指令

echo "1" > /tmp/zookeeper/myid/1
echo "2" > /tmp/zookeeper/myid/2
echo "3" > /tmp/zookeeper/myid/3

  这里的myid文件中的值对应 zoo.cfg 中 server.x,分别代表1、2、3号server的id

  4. 每一个server(这里是三台)执行以下命令 bin目录下

./zkServer.sh start

 

5.验证 集群是否搭建成功  bin目录下

./zkServer.sh status

  如下如图则表示成功

  附 :若在验证阶段执行./zkServer.sh start出现以下情况:

    JMX enabled by default
    Using config: /zk1-3.4.7/bin/../conf/zoo.cfg
    Error contacting service. It is probably not running.

先执行停止相应的zk  停止指令为  zkServer.sh  stop

再执行./zkServer.sh start-foreground  可以看到报错  根据报错进行修改

zookeeper集群操作【这里只说明简单的操作步骤,zk的相关参数、说明请参考官方文档】的更多相关文章

  1. 构建高可用ZooKeeper集群

    ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效.高可用的分布式协调服务,提供了诸如数据发布/订阅.负载均衡.命名服务.分布式协调/通知和分布式锁等分布式基础服务.由于 Zo ...

  2. 构建高可用ZooKeeper集群(转载)

    ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效.高可用的分布式协调服务,提供了诸如数据发布/订阅.负载均衡.命名服务.分布式协调/通知和分布式锁等分布式基础服务.由于 Zo ...

  3. 2019-4-8 zookeeper集群介绍学习笔记2

    构建高可用ZooKeeper集群原理介绍 ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效.高可用的分布式协调服务,提供了诸如数据发布/订阅.负载均衡.命名服务.分布式协调/ ...

  4. Zookeeper集群搭建步骤及相关知识点深入了解

    1.zookeeper概念 zookeeper是一个分布式协调服务:a:zookeeper是为别的分布式程序服务的 b:zookeeper本身就是一个分布式程序(只要半数以上节点存活,zookeepe ...

  5. 吴裕雄--天生自然HADOOP操作实验学习笔记:安装zookeeper集群

    实验目的 了解zookeeper的概念和原理 学会安装zookeeper集群并验证 掌握zookeeper命令使用 实验原理 1.Zookeeper介绍 ZooKeeper是一个分布式的,开放源码的分 ...

  6. Centos或Windows中部署Zookeeper集群及其简单用法

    一.简介 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件 ...

  7. Zookeeper集群搭建以及python操作zk

    一.Zookeeper原理简介 ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. Zookeeper设计目 ...

  8. 在CentOS7部署zookeeper集群以及简单API使用

    一.部署zookeeper集群 zookeeper是一个针对大型分布式系统的协调系统,提供的功能有统一名称服务.分布式同步等. 1.上传zk安装包 2.解压     tar -xzvf zookeep ...

  9. zookeeper集群的简单搭建

    zookeeper简单介绍 zookeeper是一个为分布式应用提供一致性服务的软件,它是开源的Hadoop项目的一个子项目,并根据google发表的一篇论文来实现的.zookeeper为分布式系统提 ...

随机推荐

  1. pythone函数基础(7)第三方模块学习

    一,time模块学习 import time # print(int(time.time()))#时间戳# res = time.strftime('%Y-%m-%d %H:%M:%S')#取当前格式 ...

  2. 优化linux,安装node环境

    就是这样我的心爱的云主机就被攻击了,反正我是很久没宠幸过她,肯定不是我去攻击人家,但是吧昨天就突然来了封邮件,小白一个查不出什么,用了 netsat -na显示所有连接到服务器的活跃的网络连接数,发现 ...

  3. webapi postman 415 错误

    https://blog.csdn.net/Intangible_moon/article/details/80183121 猜测:如果后台接口使用的是[fromBody]标签的话,需要使用raw方式

  4. NC 5导出Excel

    Excel导出功能 NC中功能事件代码: @Override protected void onBoRefresh() throws Exception { UIFileChooser fc = ne ...

  5. python小结 1

    1.变量 记录状态 类型:数字,字符串,元组,列表,字典 可变不可变(内存地址不变的情况下,值能不能改变): 不可变:字符串,数字,元组 可变:列表,字典 访问顺序: 直接访问:数字 有序:字符串,列 ...

  6. c语言基础课第三次作业

    7-1找出最小值 1.实验代码 #include <stdio.h> int main(void) int n, i, m, min; scanf("%d", & ...

  7. selenium实现淘宝的商品爬取

    一.问题 本次利用selenium自动化测试,完成对淘宝的爬取,这样可以避免一些反爬的措施,也是一种爬虫常用的手段.本次实战的难点: 1.如何利用selenium绕过淘宝的登录界面 2.获取淘宝的页面 ...

  8. 小米open-falcon监控系统接入手册

    一.新项目接入 0.官方文档: https://book.open-falcon.org/zh_0_2/usage/getting-started.html 1.联系运维人员确定可以使用监控系统: ( ...

  9. android activity之间用广播传输数据

    发送者: Intent intent = new Intent("com.BroadcastAction"); intent.putExtra("result" ...

  10. std::string的拷贝赋值研究

    说明:以下涉及的std::string的源代码摘自4.8.2版本.结论:std::string的拷贝复制是基于引用计数的浅拷贝,因此它们指向相同的数据地址. // std::string类定义type ...