ZooKeeper 集群搭建和使用

ZooKeeper 集群搭建

1,ZooKeeper 集群搭建须知

  • 节点数奇数台

2,下载安装包

  • 下载地址:
    http://mirrors.hust.edu.cn/apache/zookeeper/
  • 版本号:
    zookeeper-3.4.10.tar.gz

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
    ZooKeeper 集群搭建和使用_第1张图片

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
    

    ZooKeeper 集群搭建和使用_第2张图片
    关闭zk连接,重新进入,临时节点消失

  • 5,创建顺序ZNode节点

      命令:create -s path data
    

    ZooKeeper 集群搭建和使用_第3张图片

  • 6,获取ZNode数据

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

    ZooKeeper 集群搭建和使用_第4张图片

  • 7,设置ZNode数据

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

    ZooKeeper 集群搭建和使用_第5张图片

  • 8,监听ZNode事件

    • 1,监听目录结构

        ls path [watch]
      

      ZooKeeper 集群搭建和使用_第6张图片

    • 2,监听数据内容

        get path [watch]
      

      ZooKeeper 集群搭建和使用_第7张图片

  • 9,删除ZNode节点

      delete path 或者 rmr path
    

    ZooKeeper 集群搭建和使用_第8张图片

ZNode 数据信息字段解释

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

你可能感兴趣的:(Hadoop)