zoukankan      html  css  js  c++  java
  • Zookeeper的安装和基本操作

    Zookeeper概念

    Zookeeper是Apache Hadoop项目下的一个子项目,是一个树形目录服务

    Zookeeper翻译过来就是动物园管理员,他是用来管Hadoop(大象)、Hive(蜜蜂)、Pig(小猪)的管理员。简称zk

    Zookeeper是一个分布式的、开源的分布式应用程序的协调服务。

    Zookeeper提供的主要功能包括:

    1. 配置管理
    2. 分布式锁
    3. 集群管理(注册中心)

    Zookeeper的安装(linux)

    1. 上传zookeeper压缩包
    2. 将压缩包移动到 /opt/zookeeper 目录下
        mv /root/apache-zookeeper-3.5.8-bin.tar.gz /opt/zookeeper/
    3. 解压压缩包
        tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz
    4. 修改配置文件
      1. 进入到conf目录
        cd /opt/zookeeper/apache-zookeeper-3.5.8-bin/conf/
      2. 拷贝
        cp  zoo_sample.cfg  zoo.cfg   (这一步必做,zookeeper的配置文件的名称是zoo才会生效
      3. 修改存储目录:dataDir=/opt/zookeeper/zkdata
        [root@zyh conf]# vim zoo.cfg 
        # The number of milliseconds of each tick
        tickTime=2000
        # The number of ticks that the initial
        # synchronization phase can take
        initLimit=10
        # The number of ticks that can pass between
        # sending a request and getting an acknowledgement
        syncLimit=5
        # the directory where the snapshot is stored.
        # do not use /tmp for storage, /tmp here is just
        # example sakes.
        dataDir=/opt/zookeeper/zkdata
        # the port at which the clients will connect
        clientPort=2181
        # the maximum number of client connections.
        # increase this if you need to handle more clients
        #maxClientCnxns=60
        #
        # Be sure to read the maintenance section of the
        # administrator guide before turning on autopurge.
        #
        # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
        #
        # The number of snapshots to retain in dataDir
        #autopurge.snapRetainCount=3
        # Purge task interval in hours
        # Set to "0" to disable auto purge feature
        #autopurge.purgeInterval=1
        ~
        ~
        "zoo.cfg" 28L, 929C            
    5. 启动zookeeper
      cd /opt/zooKeeper/apache-zookeeper-3.5.8-bin/bin/
      启动
      ./zkServer.sh  start
      查看ZooKeeper状态
      ./zkServer.sh status
      停止
      ./zkServer.sh  stop

    zookeeper数据模型

    • ZooKeeper是一个树形目录服务,其数据模型和Unix的文件系统目录树很类似,拥有一个层次化结构。

    • 这里面的每一个节点都被称为:ZNode,每个节点上都会保存自己的数据和节点信息。
    • 节点可以拥有子节点,同时也允许少量(1MB)数据存储在该节点之下。

    • 节点可以分为四大类:

      PERSISTENT持久化节点
      EPHEMERAL临时结点:-e
      PERSISTENT SEQUENTIAL持久化顺序节点:-s
      EPHEMERAL SEQUENTIAL临时顺序节点:-es

    Zookeeper命令

    Zookeeper服务端常用命令


    启动ZooKeeper服务:/zkServer.sh start
    查看ZooKeeper服务状态:/zkServer.sh status
    停止ZooKeeper服务:/zkServer.sh stop
    重启ZooKeeper服务:./zkServer.sh restart

    Zookeeper客户端常用命令

    连接ZooKeeper服务端
    ./zkCli.sh  -server ip:port   (连接本机的时候可以省略-server ip:port )


    断开连接
    quit

    查看命令帮助
    help

    显示指定目录下节点
    ls  目录


    设置节点值
    set  /节点path  value


    删除单个节点
    delete    /节点path


    删除带有子节点的节点
    deleteall  /节点path


    创建节点
    create  /节点path value


    获取节点值
    get    /节点path

    创建临时节点

    create -e /节点path value

    退出

    quit          (再次使用zk-cli连接服务端,验证刚才创建的临时节点已经没了)

    创建顺序节点,zk会自动在节点路径后边添加序号

    create -s /节点path value

    查询节点详细信息

    ls –s /节点path 

    详细信息如下:

    •czxid:节点被创建的事务ID

    •ctime: 创建时间

    •mZxid: 最后一次被更新的事务ID

    •mtime: 修改时间

    •pzxid:子节点列表最后一次被更新的事务ID

    •cversion:子节点的版本号

    •dataversion:数据版本号

    •aclversion:权限版本号

    •ephemeralOwner:用于临时节点,代表临时节点的事务ID,如果为持久节点则为0

    •dataLength:节点存储的数据的长度

    •numChildren:当前节点的子节点个数

    ZooKeeper JavaAPI 操作(Curator内容过多重开一篇博文)

    迎风少年
  • 相关阅读:
    CF1312G Autocompletion
    UOJ#11. 【UTR #1】ydc的大树
    CF51F Caterpillar
    CF295D Greg and Caves
    CF288E Polo the Penguin and Lucky Numbers
    CF401D Roman and Numbers
    CF543D Road Improvement
    CF938F Erasing Substrings
    [AGC024E] Sequence Growing Hard
    CF261D Maxim and Increasing Subsequence
  • 原文地址:https://www.cnblogs.com/ZYH-coder0927/p/14047027.html
Copyright © 2011-2022 走看看