Zookeeper入门

在这里插入图片描述

Zookeeper是什么

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

Zookeeper能做什么

zookeeper功能非常强大,可以实现诸如分布式应用配置管理、统一命名服务、状态同步服务、集群管理等功能。

Zookeeper原理

ZooKeeper是以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader (领导者),只有leader才能提交proposer,具体算法可见Fast Paxos。因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解。

ZooKeeper的基本运转流程:

  1. 选举Leader
  2. 同步数据
  3. 选举Leader过程中算法有很多,但要达到的选举标准是一致的
  4. Leader要具有最高的执行ID,类似root权限
  5. 集群中大多数的机器得到响应并接受选出的Leader

Zookeeper安装

  1. 下载zookeeper,下载地址:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/ ,这里下载的是3.4.14版本的,下载完成后解压到本地目录即可,如图所示:
    在这里插入图片描述

  2. 运行解压目录下的/bin/zkServer.cmd,初次运行会报错(而且会闪退),因为没有zoo.cfg配置文件

  3. 为了解决报错,需要编辑zkServer.cmd,在文件末尾添加pause 。这样运行出错就不会退出,而会提示错误信息,方便找到原因,如图所示:
    在这里插入图片描述

  4. 再次运行zkServer.cmd,可以看到错误原因,如图所示:
    在这里插入图片描述

  5. 想要解决这个问题,只需要将conf文件夹下面的zoo_sample.cfg复制一份,并且改名为zoo.cfg即可
    注意两个重要位置:

    • dataDir=./ 临时数据存储的目录(可写相对路径)

    • clientPort=2181 zookeeper的端口号

  6. 修改完成后再次启动zkServer.cmd,运行成功,如图所示:
    在这里插入图片描述

  7. 使用zkCli.cmd进行测试,步骤如下:

    1. ls /:列出Zookeeper根下保存的全部节点,如图所示:
      在这里插入图片描述
    2. create –e /abc 123:创建一个abc节点,值为123,如图所示:
      在这里插入图片描述
    3. get /abc:获取/abc节点的值,如图所示:
      在这里插入图片描述

Zookeeper详细学习

推荐博客:https://blog.csdn.net/java_66666/article/details/81015302

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赈川

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值