本文版权归 远方的风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. LinkedList 源码实现

    闲暇之余,准备将Java 一些常用的数据结构进行重新的剖析,并记录博客比如LinkedList ,HashMap ,HashTable ,以及并发包所引入的集合,在博客中会陆续更新 start 哈哈, ...

  2. Cannot resolve method

    1.问题描述: 本人idea下拉项目,结果impl里的类满屏的红色 2.解决方法 步骤: File --> Settings --> Plugins -->搜索并安装lom即可

  3. Git-git push -u为何第二次不用指定-u?

    1,如果当前分支只有一个追踪分支,那么主机名都可以省略,如:git push origin 将当前分支推送到origin主机的对应分支 2,$ git push 如果当前分支与多个主机存在追踪关系,那 ...

  4. 【转载】SQL Server - 使用 Merge 语句实现表数据之间的对比同步

    原文地址:SQL Server - 使用 Merge 语句实现表数据之间的对比同步 表数据之间的同步有很多种实现方式,比如删除然后重新 INSERT,或者写一些其它的分支条件判断再加以 INSERT ...

  5. python2/3 利用psycopg2 连接postgreSQL数据库。

    psycopg2 是一个通过python连接postgreSQL的库, 不要被它的名称蒙蔽了,你可能发现它的版本是psyconpg2.7.*, 以为它只能在python2上使用,实际上,这只是一个巧合 ...

  6. ABP 异常处理 第四篇

    1.ABP异常处理机制是通过过滤器实现的,我们查看的webAPI的异常处理,我们来看看他的源码,AbpApiExceptionFilterAttribute 继承ExceptionFilterAttr ...

  7. javaScrpit 开端

    JavaScript 代码可以直接嵌在网页的任何地方,不过我们通常把JavaScrpit放到<head>中: <html> <head> <script> ...

  8. 【轻松前端之旅】<a>元素妙用

    浏览器读取服务器内容时,通过URL(包含:协议+域名+绝对路径)如:https://www.baidu.com/index.html浏览器从本地读取内容时,会用file协议.如:file:///E:/ ...

  9. Spring 的配置详解

    Bean元素 Spring创建对象的方式 (1)空参构造方式 (2)静态工厂(了解) (3)实例工厂方式 Bean元素进阶 (1)scope属性 a.singleton (2)生命周期属性 Sprin ...

  10. python repr()和str()

    两者功能差不多,都是把对象转为字符串表示形式,但是也有区别,repr()之后再eval()可以转为原型,但str()只能保证大多数,不能100% 其中主要的 差别在与 字符串对象本身,比如 a = ' ...