大数据之ZooKeeper(二)

文章目录

  • 前言
  • 一、数据类型
  • 二、连接ZooKeeper集群
  • 三、操作ZooKeeper节点
  • 四、Watch机制
  • 总结


前言

#博学谷IT学习技术支持#
上篇文章主要是ZooKeeper集群的概述,以及对该集群的特征和相关角色做了一个简介,本篇接着对ZooKeeper集群的数据类型、节点和Watch机制做介绍。

一、数据类型

ZooKeeper集群内部存在一个树型结构的目录树,其具有以下几个特点:
(1)目录树中包含节点,Znode表示目录树中的节点
(2)每个节点都有各自的名称,节点是唯一的,不能重复
(3)节点中可以存储数据,也可以存储子节点,创建子节点时必须存在父节点
(4)必须使用绝对路径访问节点,如:/app1
(5)目录树各个节点主要存储配置数据,所以对数据量不大大数据之ZooKeeper(二)_第1张图片

二、连接ZooKeeper集群

(1)连接ZooKeeper集群前需要先搭建ZooKeeper环境,网络上相关搭建教程很多,这里就不多做介绍,直接从客户端连接集群开始说起。
(2)连接集群先需要确保ZooKeeper集群已经启动,可以在对应集群上使用zkServer.sh的shell文件查看集群的当前状态。
在这里插入图片描述
(3)使用zkCli.sh即可连接ZooKeeper集群

  • 连接本主机:
    大数据之ZooKeeper(二)_第2张图片
  • 连接指定主机:
    大数据之ZooKeeper(二)_第3张图片

三、操作ZooKeeper节点

(1)节点类型介绍

  • 节点分为永久节点,临时节点,永久顺序节点和临时顺序节点四种类型;
  • 永久节点顾名思义是节点一直存在;临时节点只存在于当前会话,当前会话一结束,节点跟着结束;
  • 创建顺序节点时,如果当前节点已存在相同名称的节点,则会自动在当前新增的节点名称后加上编号,从而使节点唯一,结合永久节点和临时节点两个概念,则可以理解为创建永远存在的顺序节点和临时性的顺序节点。

(2)创建节点,创建的节点必须唯一,以及需要指定节点存储的数据,否则节点将创建失败

  • 创建永久节点
    大数据之ZooKeeper(二)_第4张图片

  • 创建临时节点
    大数据之ZooKeeper(二)_第5张图片

  • 创建永久顺序节点
    大数据之ZooKeeper(二)_第6张图片

  • 创建临时顺序节点
    大数据之ZooKeeper(二)_第7张图片
    (3)查找节点,使用get + 节点路径即可大数据之ZooKeeper(二)_第8张图片
    (4)修改节点值,修改的规则为:set + 节点路径 + 新的节点值,以节点app1为例
    大数据之ZooKeeper(二)_第9张图片
    (5)删除节点,有两种方式,一种是delete,该方式只能删除空节点,若该节点有子节点则会删除失败,另一种方式是rmr,递归删除节点,无论节点是否具有子节点,都可以使用rmr删除节点大数据之ZooKeeper(二)_第10张图片
    在这里插入图片描述

四、Watch机制

ZooKeeper的Watch机制类似于事件监听,目录树的节点若有变化,则自动进行相对应的操作,Watch机制在命令行终端是一次性的,如果需要一直对节点进行监听的话,需要借助Java才能实现。


总结

ZooKeeper的Watch机制可以实时监控节点的变化,根据节点的不同变化,制定相对应的处理方式。

你可能感兴趣的:(ZooKeeper,大数据,zookeeper)