前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EMR(弹性MapReduce)入门之HBase集群的使用(十)

EMR(弹性MapReduce)入门之HBase集群的使用(十)

原创
作者头像
小司机带你入门EMR
修改2020-02-12 18:11:01
1.5K0
修改2020-02-12 18:11:01
举报
文章被收录于专栏:EMR冲鸭

HBase的作用

1. 海量数据存储:

上百亿行 x 上百万列

并没有列的限制

当表非常大的时候才能发挥这个作用, 最多百万行的话,没有必要放入hbase中

2. 准实时查询:

百亿行 x 百万列,在百毫秒以内

HBase特点

1. 容量大:

传统关系型数据库,单表不会超过五百万,超过要做分表分库,不会超过30列

Hbase单表可以有百亿行、百万列,数据矩阵横向和纵向两个维度所支持的数据量级都非常具有弹性

2. 面向列:

面向列的存储和权限控制,并支持独立检索,可以动态增加列,即,可单独对列进行各方面的操作

列式存储,其数据在表中是按照某列存储的,这样在查询只需要少数几个字段的时候,能大大减少读取的数量

3. 多版本:

Hbase的每一个列的数据存储有多个Version,比如住址列,可能有多个变更,所以该列可以有多个version

4. 稀疏性:

为空的列并不占用存储空间,表可以设计的非常稀疏。

不必像关系型数据库那样需要预先知道所有列名然后再进行null填充

5. 拓展性:

底层依赖HDFS,当磁盘空间不足的时候,只需要动态增加datanode节点服务(机器)就可以了

6. 高可靠性:

WAL机制,保证数据写入的时候不会因为集群异常而导致写入数据丢失

Replication机制,保证了在集群出现严重的问题时候,数据不会发生丢失或者损坏

Hbase底层使用HDFS,本身也有备份。

7.高性能:

底层的LSM数据结构和RowKey有序排列等架构上的独特设计,使得Hbase写入性能非常高。

Region切分、主键索引、缓存机制使得Hbase在海量数据下具备一定的随机读取性能,该性能针对Rowkey的查询能够到达毫秒级别

LSM树,树形结构,最末端的子节点是以内存的方式进行存储的,内存中的小树会flush到磁盘中(当子节点达到一定阈值以后,会放到磁盘中,且存入的过程会进行实时merge成一个主节点,然后磁盘中的树定期会做merge操作,合并成一棵大树,以优化读性能。)

HBase存储原理

HBase存储原理
HBase存储原理

存储过程:

客户端提交任务之后,数据首先会放入 MemStore,然后再写 WAL (Write Ahead Log),当 MemStore 满了之后就会往 StoreFile 里面刷( HBase 并不会直接将数据落盘,而是先写入缓存,等缓存满足一定大小之后再落盘。)。当 StoreFile 文件数量增长到一定阈值之后,会触发Compact合并操作,将多个 StoreFiles 合并成一个 StoreFile。

一台 RegionServer 节点有一个 HRegionServer。

一个 HRegionServer 包含一个 HLog 和多个 HRegion ( 对应 Table 中的一个 Region )。

一个 HRegion 包含多个 HStore。

一个 HStore 包含一个 MemStore 和多个 StoreFile ( 每个 HStore 对应 Table 的一个列族 cf )。

当一个 HStore 里面 StoreFile 的数量增长到一定阈值之后,会触发Compact合并操作,将多个 StoreFiles 合并成一个 StoreFile。

当 StoreFile 的大小增长到一定阈值之后,会触发 Split 操作,同时把当前 Region Split 成 2 个 Region,父 Region 会下线,新 Split 出的 2 个子 Region 会被 HMaster 分配到相应的 HRegionServer 上,使得原先 1 个 Region 的压力得以分流到 2 个 Region 上。

HBase集群常见故障

1、重启regionserver没反应,rs已经假死。

解决办法:修复hbase集群存在region不一致的问题,然后指令初始化重新下发。

2、hbase表不一致,表无法写入。

原因:可能该表region指存在meta中,但在hdfs和rs上都不存在

解决方法:hbase hbck -repair INDEX_SRM_VEHICLE_STATUS_LATEST

3、hbase配置参数出错导致regionserver重启

应用场景:hbase-regionserver OOM

解决办法:

  • 监控查看;
  • jps;
  • ps -ef|grep regionserver
  • jmap -heap (pid)
  • jstact -gc (pid)
  • cat hbase-hadoop-regionserver-xx.xx.xx.xx.out.1|more
  • cat hbase-hadoop-regionserver-xx.xx.xx.xx.log |more
  • 查看控制台参数配置(用户调优过程降一些配置删除了)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HBase的作用
  • HBase特点
  • HBase存储原理
  • HBase集群常见故障
相关产品与服务
TDSQL MySQL 版
TDSQL MySQL 版(TDSQL for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档