Zookeeper

Zookeeper:基础组件

一:功能介绍

1.可以为客户端管理少量数据(k, v)格式
数据存储格式

2.可以为客户端监听指定数据节点的状态并在数据节点发生变化时,通知客户端

二:选举机制

投票:得票大于zookeeper集群1/2当选 leader
zookeeper 集群通常设置奇数台节点(3或5台),每台节点拥有自身id即myid,进程名为QuorumpeerMain。

  • 因为每台机器启动时间存在延迟,所以当第一台机器启动时,首先会访问2888端口,查看是否存在leader,如果存在自动成为follower,否则访问3888端口,对myid大的进行投票,因为刚启动只有一台节点,所以投票给自己。
  • 当第二台节点启动时,同样先访问2888端口,没有leader就在3888端口进行投票,投给myid大的,即自己;节点一跟票给节点二。
  • 如果一共只有三个节点,第二个当选leader。第三个节点启动访问2888端口自动成为follower。
    投票机制

三:Zookeeper配置

  • 下载
    下载地址:https://zookeeper.apache.org/releases.html
  • 初始化配置
    我这边安装在/opt/software中,解压后修改conf下的zoo_sample.cfg文件,重新拷贝一份,修改名称为zoo.cfg,在其中修改本地文件目录以及分布节点和端口号
    配置信息
    紧接着在mas的zookeeper dataDir 中生成一个myid文件 内容为 1;s1 myid文件为2;s2为3。
  • 启动
    开发自动化运行脚本
    shell脚本加权限 chmod +x start-zk.sh
    运行 ./start-zk.sh 并观察状态 一个为leader 两个follower则为启动成功
  • 报错
    启动过程中可能会报Error contacting service. It is probably not running.的错误
    原因可能为集群未启动,检查conf中的zoo.cfg配置,可以把映射名称改成主机id;
    检查myid文件是否和配置文件匹配;
    命令行输入 netstat -nltp 显示端口是否启动,如果2181,2888,3888已被占用则更换端口

四:命令行客户端功能测试

  • 启动
    bin/zkCli.sh
    客户端启动
  • 命令
    进入客户端后输入 help显示命令
    在这里插入图片描述
    常用命令
    • zkCli.sh -server s1:2181
      选择指定节点开启客户端

    • stat 与 get
      stat与get同为展示目录信息,get可以存放的数据
      在这里插入图片描述

    • set
      set 更改已存路径的数据,若路径不存在无法自动新建
      在这里插入图片描述

    • ls 与 ls2
      ls 只展示该路径下子节点,ls2在ls基础上多加自身信息
      在这里插入图片描述

    • quota
      quota 为存储路径的配额信息,存储在/zookeeper/quota中。配额信息可以通过setquota设置,它有两个参数:
      -n 限制此节点最大可拥有多少个子节点(包含自身节点)
      -b 限制此节点数据存储字节量
      但这个限制只会在zookeeper.out中以WARN级别显示,客户端不会报实际错误
      在这里插入图片描述
      zookeeper.out
      在这里插入图片描述-b 同理

      delquota 删除已创建的配额信息,也是-n -b参数
      注意:rmr删除路径数据不会删除该路径保存的quota数据,需要delquota手动删除

    • create与rmr
      create 创建路径并赋值
      rmr 删除路径与数据,无法删除路径的配额信息

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值