HBase相关概念简介

1.Configuration描述

  HBase采用hadoop中的Configuration对象来加载配置文件信息

2.HMaster作用

  a.监控集群中所有的regionserver

  b.对元数据进行管理

  c.通常情况下,HMaster和NameNode在一个节点上

  d.管理regionserver的故障转移和region分区

    表级操作:Table(createTable,modifyTable,removeTable,enable,disable)

    列簇操作:ColumnFamily(addColumn,modifyColumn,removeColumn)

    分区操作:Region(move,assign,unassign)

    负载均衡:LoadBalancer

3.RegionServer作用

  a.负责服务和管理region

  b.通常情况下,HRegionServer和DataNode在一个节点上

  c.MemStore刷盘操作

  d.WAL(Write-ahead-log);写前日志

    数据操作:Data(get,put,delete,next,etc.)

    分区操作:Region(splitRegion,compactRegion,etc.)

  e.minor和major

4.MemStore说明

  a.每一个region可能存在一个或多个MemStore,每个MemStore对应着当前表的当前区域的一个列簇

  b.如果达到刷盘条件,写入到磁盘中:StoreFile(HFile)

    刷盘条件:

      1.手动操作,执行flush();

      2.达到阈值

        -->编辑在内存中的最长时间,默认为1小时

        -->memstore的大小超过128M,进行刷盘

      3.全局内存限制

       

      <property>
        <name>hbase.regionserver.global.memstore.size</name>
        <value></value>
        <description>
          在刷新之前,regionserver中所有memstore的最大大小
          更新被阻塞,刷新被强制。默认设置为堆的40%(0.4)。
        </description>
      </property>
      <property>
        <name>hbase.regionserver.global.memstore.size.lower.limit</name>
        <value></value>
        <description>
          强制刷新之前,regionserver中所有memstore的最大大小。
          默认设置为95%的hbase.regionserver.global.memstore。
        </description>
      </property>

5.ColumnFamily(列簇)个数说明

  要求:创建表时,尽可能降低列簇的个数,最好为1;如果超过2或3,Hbase集群性能受到影响。

6.Split阈值

  

<property>
  <name>hbase.hregion.max.filesize</name>
  <value>10737418240</value>
  <description>
    最大HStoreFile大小。如果列族的HStoreFiles扩展到超过这个值(1G)时,宿主HRegion被一分为二。</description>
</property>

7.合并相关参数

1.minor(轻量级合并)
  <property>
    <name>hbase.hstore.compaction.max</name>
    <value>10</value>
    <description>按轻量级合并最大压缩HStoreFiles数。</description>
  </property>
  <property>
    <name>hbase.hstore.compactionThreshold</name>
    <value>3</value>
    <description>
If more than this number of HStoreFiles in any one HStore
(one HStoreFile is written per flush of memstore) then a compaction
is run to rewrite all HStoreFiles files as one. Larger numbers
put off compaction but when it runs, it takes longer to complete.

    </description>
  </property>

原文地址:https://www.cnblogs.com/lyr999736/p/9417803.html