• HBase与Zookeeper的关系


    一、HBase与Zookeeper的关系

    Client客户端、Master、Region都会通过心跳机制(RPC通信)与zookeeper保持联系。

    当在Hbase中插入或读取数据时流程如下:

    1. 在Client中写一个Java类运行,客户端只需要连接zookeeper,客户端会从zookeeper中得到Regionserver的映射信息,之后客户端会直接连接到Region Server。
    2. RegionServer在启动之后会向zookeeper汇报信息(通过心跳RPC):本身有多少Region,有哪些数据,当前机器的运行状况等等。
    3. master 启动后也会向zookeeper汇报信息,并且从zookeeper中得到Region Server的一些信息。例如当一台Region Server当掉之后,zookeeper会得知,之后Master也会通过zookeeper得到该Region Server当掉的信息。
    4. 当客户端Client在做DDL(创建,修改,删除表)时,会通过zookeeper获取到Master的地址,而Master中保存了表的元数据信息,之后Client就可以直接与Master进行通信,进行表的DDL操作。
    5. 当Region中数据不断增大,MAster会向Region Serve发送指令,讲分割出来的Region进行转移。

    在这里插入图片描述

    Zookeeper

    1. 保证任何时候,集群中只有一个活跃的master,因为为保证安全性会启动多个Master。
    2. 存储所有Region的寻址入口。知道那个Region在哪台机器上。
    3. 实时监控Region Server的状态,将Region Server的上下线的信息汇报给HMaster。(因为每间隔一段时间,RegionServer与Master都会zookeeper发送心跳信息),Region Server不直接向Master发送信息的原因是为了减少Master的压力因为只有一个活跃的Master,所有的RegionServer同时向他汇报信息,压力太大。而若有100台RegionServer时,Region Server可以分每10台向一个zookeeper汇报信息,实现zookeeper的负载均衡。
    4. 存储Hbase的元数据(Schema)包括,知道整个Hbase集群中有哪些Table,每个 Table 有哪些column family(列族)。

    Client

    lient包含了访问Hbase的接口,Client维护这些Cache来加快对Hbase的访问,比如Region的位置信息,zookeeper,zookeeper保证了任何时候群众只有一个Master存储所有的Region中的寻址入口还有实时监控RegionServer上的状态,将RegionServer的上线和下线信息实时通知给Master,存储hbase 的Schema,包括有哪些table,每个Table有哪些Column Family。

    Master

    1. 为RegionServer分配Region。
    2. 负责RegionServer的负载均衡。
    3. 发现失效的RegionServer并重新分配其上的Region。
    4. HDFS上的垃圾文件回收。
    5. 处理Schema更新请求。

    RegionServer

    1. RegionServer维护Master分配给他的 Region,处理对这些Region的IO请求。
    2. RegionServer负责切分在运行过程中变得过大的Region。

    Client访问Hbase上的数据的过程并不需要Master的参与(寻址访问zookeeper和Region Serve,写数据访问Region Server)Master仅仅维护着table和Region的元数据信息。负载很低。

    原文链接:
    简书(时待吾):zookeeper与hbase

  • 相关阅读:
    图片尺寸批量resize的matlab并行代码
    Java使用QRCode.jar生成与解析二维码
    MySQL求两表的差集(非交集)
    sql笔记
    Oracle创建表空间创建用户授权
    身份证前6位地址码+码表+MySQL
    Jenkins时区设置为北京时间
    Oracle 使用MERGE INTO 语句 一条语句搞定新增编辑
    Oracle dd-m月-yy转yyyy-mm-dd
    docker 使用笔记
  • 原文地址:https://www.cnblogs.com/aixing/p/13327281.html
Copyright © 2020-2023  润新知