栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

九、Hbase高频面试题

九、Hbase高频面试题

1、Hbase存储结构

2、RowKey设计原则

        1)rowkey长度原则

        2)rowkey散列原则

        3)rowkey唯一原则

3、 RowKey如何设计

1)生成随机数、hash、散列值

2)字符串反转

4、 Hbase 的特点是什么

        1)大:一个表可以有数十亿行,上百万列;

        2)无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一

        张表中不同的行可以有截然不同的列;

        3)面向列:面向列(族)的存储和权限控制,列(族)独立检索;

        4)稀疏:空(null)列并不占用存储空间,表可以设计的非常稀疏;

        5)数据多版本:每个单元中的数据可以有多个版本,默认情况下版本号自动分配,是单元

        格插入时的时间戳;

        6)数据类型单一:Hbase 中的数据都是字符串,没有类型。

5、Hbase 优化方式

        (1)高可用

        在 Hbase 中 Hmaster 负责监控 RegionServer 的生命周期,均衡 RegionServer 的负载,如果 Hmaster 挂掉了,那么整个 Hbase 集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以 Hbase 支持对 Hmaster 的高可用配置。

        (2)预分区

        每一个 region 维护着 startRow 与 endRowKey,如果加入的数据符合某个 region 维护的rowKey 范围,则该数据交给这个 region 维护。那么依照这个原则,我们可以将数据所要投放的分区提前大致的规划好,以提高 Hbase 性能 .

        (3)RowKey 设计

        一条数据的唯一标识就是 rowkey,那么这条数据存储于哪个分区,取决于 rowkey 处于哪个一个预分区的区间内,设计 rowkey 的主要目的 ,就是让数据均匀的分布于所有的 region中,在一定程度上防止数据倾斜。

        (4)7.4 内存优化

        Hbase 操作过程中需要大量的内存开销,毕竟 Table 是可以缓存在内存中的,一般会分配整个可用内存的 70%给 Hbase 的 Java 堆。但是不建议分配非常大的堆内存,因为 GC 过程持续太久会导致 RegionServer 处于长期不可用状态,一般 16~48G 内存就可以了,如果因为框架占用内存过高导致系统内存不足,框架一样会被系统服务拖死。

        (5)基础优化

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/582437.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号