Hbase

1.hbase的特点:

   1.它介于nosql和RDBMS之间,仅能通过主键(row key) 和主键的range来检索数据,仅支持单行事务,

   2.Hbase查询数据功能简单,不支持join等复杂的操作

   3.不支持复杂的事务

   4.hbase中支持的数据类型:byte[]

   5.主要用来存储结构化和半结构化的松散数据

2.描述Hbase的rowkey的设计原则

  1.长度原则,推荐10-100个字节

  2.散列原则,避免我们的数据热点问题,导致我们的数据都只在一个region上。

  3.唯一性原则

3.简述HBase的compact用途是什么,什么时候触发,分为哪两种,有什么区别?

  将小文件合并成大文件

  小文件数量达到一定数量

  minor合并(轻量级)和major合并(重量级)

  两者的区别是:major合并会把之前被标记删除的数据,还有过期的数据等数据都会被删除,而minor合并不会这样

4.HBase的容错性

  1.hmaster的容错性

  2.regionServer容错性

  3.zookeeper的容错性

  4.Hlog的使用,region的重新写的操作

5.在Hbase中的通过哪些条件来唯一确定一个单元格的值

  rowkey,列族+列,版本号

6.描述Hbase的核心功能模块及作用,

  client:包含访问Hbase的接口,并维护cache来加快对Hbase的访问。

  Master:为regionServer分配region,regionServer的负载均衡,发现失效的RegionServer并重新分配其上的region,管理用户对表的增删改查操作

  RegionServer:维护region,处理对这些 region的IO请求,切分运行过程中变大的region。

7.Hbase的元数据表有那几张,他们里面都存放了什么内容?

  -ROOT:

  meta:存放了所有的region信息和regionServer信息。

8.zookeeper在Hbase中的作用是什么?

  1.存放meta的元数据信息

  2.存放Hmaster的信息

9.描述HBase读写数据的过程

  1.写:

    1,Client先访问zookeeper,从meta表获取相应region信息,然后找到meta表的数据
    2,根据namespace、表名和rowkey根据meta表的数据找到写入数据对应的region信息
    3,找到对应的regionserver
    4,把数据分别写到HLog和MemStore上一份
    5,MemStore达到一个阈值后则把数据刷成一个StoreFile文件。(若MemStore中的数据有丢失,则可以总
HLog上恢复)
    6,当多个StoreFile文件达到一定的大小后,会触发Compact合并操作,合并为一个StoreFile,(这里同时进行
版本的合并和数据删除。)
    7,当Storefile大小超过一定阈值后,会把当前的Region分割为两个(Split),并由Hmaster分配到相应的
HRegionServer,实现负载均衡

  2.读:   

    1,Client先访问zookeeper,从meta表读取region的位置,然后读取meta表中的数据。meta中又存储了用户表的
region信息。
    2,根据namespace、表名和rowkey在meta表中找到对应的region信息
    3,找到这个region对应的regionserver
    4,查找对应的region
    5,先从MemStore找数据,如果没有,再到StoreFile上读(为了读取的效率)。

 

 

  

posted @ 2018-01-18 14:53  光辉蝈蝈  阅读(173)  评论(0编辑  收藏  举报