美文网首页
Zookeeper介绍及安装

Zookeeper介绍及安装

作者: 月哥说了算 | 来源:发表于2019-07-13 14:55 被阅读0次

    介绍:

    Zookeeper 是 Apache Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并推荐使用 。

    为了便于理解Zookeeper的树型目录服务,我们先来看一下我们电脑的文件系统(也是一个树型目录结构):


    4.png

    我的电脑可以分为多个盘符(例如C、D、E等),每个盘符下可以创建多个目录,每个目录下面可以创建文件,也可以创建子目录,最终构成了一个树型结构。通过这种树型结构的目录,我们可以将文件分门别类的进行存放,方便我们后期查找。而且磁盘上的每个文件都有一个唯一的访问路径,例如:C:\Windows\itcast\hello.txt。

    Zookeeper树型目录服务: 1562659835206.png

    流程说明:

    • 服务提供者(Provider)启动时: 向 /dubbo/com.foo.BarService/providers 目录下写入自己的 URL 地址
    • 服务消费者(Consumer)启动时: 订阅 /dubbo/com.foo.BarService/providers 目录下的提供者 URL 地址。并向 /dubbo/com.foo.BarService/consumers 目录下写入自己的 URL 地址
    • 监控中心(Monitor)启动时: 订阅 /dubbo/com.foo.BarService 目录下的所有提供者和消费者 URL 地址

    支持以下功能:

    • 当提供者出现断电等异常停机时,注册中心能自动删除提供者信息
    • 当注册中心重启时,能自动恢复注册数据,以及订阅请求
    • 当会话过期时,能自动恢复注册数据,以及订阅请求

    安装

    下载地址:http://archive.apache.org/dist/zookeeper/

    作者使用的Zookeeper版本为3.4.6,下载完成后可以获得名称为zookeeper-3.4.6.tar.gz的压缩文件。既可以在window环境运行,也可以在Linux环境运行。

    步骤:

    第一步:把 zookeeper 的压缩包(zookeeper-3.4.6.tar.gz)

    第二步:解压缩压缩包,使用7-Zip解压。

    第三步:进入zookeeper-3.4.6目录,创建data目录

    第四步:进入conf目录 ,把zoo_sample.cfg 改名为zoo.cfg

    第五步:打开zoo.cfg文件, 修改data属性:dataDir=../data

    第六步:进入Zookeeper的bin目录,双击zkServer.cmd,启动Zookeeper服务

    注意 :

    1、dataDir的目录配置是不正确,启动会失败。
    2、确保安装 jdk环境,因为Zookeeper是Java语言开发。
    3、在window环境下,我们执行zkServer.cmd。Linux环境我们执行zkServer.sh。

    Zookeeper客户端命令

    启动客户端,在安装目录下,直接双击zkCli.cmd文件。

    ls 节点路径 --查看指定节点下的内容

    输入 ls / 可以查看根目录下节点,如果使用过dubbo,肯定有 dubbo子节点,dubbo注册过的服务都在/dubbo子节点下。

    ls2 节点路径

    --查看指定节点的详细信息 查看所有子节点和当前节点的状态

    # ­­­­­­­­­­­节点的状态信息,也称为stat结构体­­­­­­­­­­­­­­­­­­­
    # 创建该znode的事务的zxid(ZooKeeper Transaction ID)
    # 事务ID是ZooKeeper为每次更新操作/事务操作分配一个全局唯一的id,表示zxid,值越小,表示越先执行
    cZxid = 0x4454 # 0x0表示十六进制数0
    ctime = Thu Jan 01 08:00:00 CST 1970  # 创建时间
    mZxid = 0x4454                        # 最后一次更新的zxid
    mtime = Thu Jan 01 08:00:00 CST 1970  # 最后一次更新的时间
    pZxid = 0x4454                        # 最后更新的子节点的zxid
    cversion = 5                          # 子节点的变化号,表示子节点被修改的次数
    dataVersion = 0                       # 当前节点的变化号,0表示从未被修改过
    aclVersion = 0                        # 访问控制列表的变化号 access control list
    # 如果临时节点,表示当前节点的拥有者的sessionId
    ephemeralOwner = 0x0                  # 如果不是临时节点,则值为0
    dataLength = 13                       # 数据长度
    numChildren = 1                       # 子节点数据
    
    • get 节点路径 获取节点中的值
      内容就是上面红框里面的内容
    • delete 节点路径 删除节点 只能删除空节点,即不能有子节点
    • rmr 节点路径 递归删除节点 remove recursion
    • stat 节点路径 查看节点状态

    相关文章

      网友评论

          本文标题:Zookeeper介绍及安装

          本文链接:https://www.haomeiwen.com/subject/vvzpkctx.html