ZooKeeper 集群搭建和使用

ZooKeeper 集群搭建

1,ZooKeeper 集群搭建须知
  • 节点数奇数台
2,下载安装包
3,上传并解压
  • 解压:tar -zxvf zookeeper-3.4.10.tar.gz
4,修改配置文件zoo.cfg
  • 进入 ZOOKEEPER_HOME/conf 目录下,复制样例配置文件zoo_sample.cfg,命名为zoo.cfg
    复制命令:cp zoo_sample.cfg zoo.cfg
  • 编辑配置文件zoo.cfg
    在这里插入图片描述
5,分发到其他服务器
[theone@hadoop01 software]$ scp -r zookeeper-3.4.10 shiny@hadoop02:$PWD
[theone@hadoop01 software]$ scp -r zookeeper-3.4.10 shiny@hadoop03:$PWD
6,新建dataDir目录
  • 在各个 ZooKeeper 服务器节点新建/home/shiny/zkdata
    zoo.cfg中配置的dataDir
  • 建好之后,在里面新建一个文件,文件名叫 myid,里面存放的各个服务器节点对应的 id
    就是 server.1=hadoop01:2888:3888 当中的 id
7,配置环境变量(所有 ZooKeeper 节点)
vim /home/theone/.bash_profile
添加如下代码配置环境变量:
export ZOOKEEPER_HOME=/home/theone/Desktop/software/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin
执行命令让文件立即生效:
source /home/theone/.bash_profile
8,启动 ZooKeeper
  • 各个 ZooKeeper 服务器节点使用启动命令

      zkServer.sh start
    
  • 检查进程和角色

      进程:QuorumPeerMain ,使用命令:jps
      角色:leader or follower,使用命令:zkServer.sh status
    

ZooKeeper 集群使用

1, 连接 ZooKeeper 服务器

  • (1)连接本机的 ZooKeeper 服务器
    进入 ZooKeeper 命令行客户端,使用命令:

      [theone@hadoop01 ~]$ zkCli.sh 
    
  • (2)连接其他的 ZooKeeper 服务器

      [theone@hadoop01 ~]$ zkCli.sh -server hadoop02:2181
    

2,ZooKeeper Cli 常用命令

  • 1,帮助命令:help

  • 2,查看ZNode节点列表 (命令:ls path和 ls2 path)

      ls path [watch]  #显示节点列表
      ls2 path [watch] #不但显示节点列表,还显示更新次数等数据
      ![在这里插入图片描述](https://img-blog.csdnimg.cn/20181114192811715.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RoZW9uZV8x,size_16,color_FFFFFF,t_70)
    

    path表示的是指定数据节点的节点路径

  • 3,创建 ZNode 节点

      create [-s] [-e] path data acl
    

    -s 或-e 分别指定节点特性,顺序或临时节点,若不指定,则表示持久节点。
    data代表节点的数据内容。
    acl用来进行权限控制,默认情况下,不做任何权限控制。

    创建一个新的 ZNode 节点“zk”以及与它关联的字符串“myData”如图:在这里插入图片描述

  • 4,创建临时ZNode节点

      命令:create -e path data
    

    在这里插入图片描述
    关闭zk连接,重新进入,临时节点消失

  • 5,创建顺序ZNode节点

      命令:create -s path data
    

    在这里插入图片描述

  • 6,获取ZNode数据

      get path      #(得到节点关联的字符串和属性信息)	
    

    在这里插入图片描述

  • 7,设置ZNode数据

      set path data [version]    #(设置/修改节点的关联字符串)
    

    在这里插入图片描述

  • 8,监听ZNode事件

    • 1,监听目录结构

        ls path [watch]
      

      在这里插入图片描述

    • 2,监听数据内容

        get path [watch]
      

      在这里插入图片描述

  • 9,删除ZNode节点

      delete path 或者 rmr path
    

    在这里插入图片描述

ZNode 数据信息字段解释

数据信息字段解释
cZxid节点创建的时候的 zxid,用来为选举leader服务的
ctime节点创建的时间
mZxid节点最新一次修改时的 zxid,与子节点的修改无关
mtime节点最新一次修改时的时间
pZxid子节点最近一次创建/删除对应的 zxid, 和子节点修改无关, 和孙子节点无关
cversion子节点的更新次数
dataVersion节点数据的更新次数
aclVersion节点ACL(授权信息)的更新次数
dataLength节点数据的字节数
numChildren子节点个数,不包含孙子节点
  • ephemeralOwner : 如果该节点为 ephemeral 节点, 该值表示与该节点绑定的 session id, 如果该节点不是 ephemeral 节点, 该值为 0
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值