锁屏面试题百日百刷,每个工作日保持更新面试题。锁屏面试题app、小程序现已上线,官网地址:https://www.demosoftware.cn。已收录了每日更新的面试题的所有内容,还蕴含特色的解锁屏幕温习面试题、每日编程题目邮件推送等性能。让你在面试中后人一步!接下来的是今日的面试题:

1.请详细描述HBase中一个cell的构造?**

HBase中通过row和columns确定的为一个存贮单元称为cell。

Cell:由{row key, column(=<family> + <label>), version}惟一确定的单元。cell 中的数据是没有类型的,全副是字节码模式存贮。

2.以start-hbase.sh为终点,HBase启动的流程是什么?**

start-hbase.sh 的流程如下:

1. 运行 hbase-config.sh

hbase-config.sh的作用:

① 装载相干配置,如HBASE_HOME目录,conf目录,regionserver机器列表,JAVA_HOME 目录等,它会调用$HBASE_HOME/conf/hbase-env.sh ;

② 解析参数(0.96 版本及当前才能够带惟一参数 autorestart,作用就是重启);

③ 调用 hbase-daemon.sh 来启动 master;

④ 调用 hbase-daemons.sh 来启动 regionserver zookeeper master-backup。

  1. hbase-env.sh 的作用:

次要是配置 JVM 及其 GC 参数,还能够配置 log 目录及参数,配置是否须要 hbase 治理 ZK,配置过程 id目录等。

  1. hbase-daemons.sh 的作用:

依据须要启动的过程,如 zookeeper,则调用 zookeepers.sh如 regionserver,则调用 regionservers.sh,如 master-backup,则调用 master-backup.sh。

  1. zookeepers.sh 的作用:

如果 hbase-env.sh 中的 HBASE_MANAGES_ZK"="true",那么通过ZKServerTool这个类解析xml配置文件,获取 ZK 节点列表,而后通过 SSH 向这些节点发送近程命令执行。

  1. regionservers.sh 的作用:

与 zookeepers.sh 相似,通过配置文件,获取 regionserver 机器列表,而后 SSH 向这些机器发送近程命令。

6.master-backup.sh 的作用:

通过 backup-masters 这个配置文件,获取 backup-masters 机器列表,而后 SSH 向这些机器发送近程命令。

3.简述HBase中compact用处是什么,什么时候触发,分为哪两种,有什么区别,有哪些相干配置参数?**

在hbase中每当有memstore数据flush到磁盘之后,就造成一个storefile,当storeFile的数量达到肯定水平后,就须要将 storefile 文件来进行 compaction 操作。

Compact 的作用:

① 合并文件

② 革除过期,多余版本的数据

③ 进步读写数据的效率

HBase 中实现了两种 compaction 的形式:minor and major. 这两种 compaction 形式的区别是:

1、Minor 操作只用来做局部文件的合并操作以及包含 minVersion=0 并且设置 ttl 的过期版本清理,不做任何删除数据、多版本数据的清理工作。

2、Major 操作是对 Region 下的HStore下的所有StoreFile执行合并操作,最终的后果是整顿合并出一个文件。

4.每天百亿数据存入HBase,如何保证数据的存储正确和在规定工夫里全副录入结束,不残留数据?**

需要剖析:

1)百亿数据:证实数据量十分大;

2)存入HBase:证实是跟HBase的写入数据无关;

3)保证数据的正确:要设计正确的数据结构保障正确性;

4)在规定工夫内实现:对存入速度是有要求的。

解决思路:

1)数据量百亿条,什么概念呢?假如一整天60x60x24 = 86400秒都在写入数据,那么每秒的写入条数高达100万条,HBase当然是反对不了每秒百万条数据的,所以这百亿条数据可能不是通过实时地写入,而是批量地导入。批量导入举荐应用BulkLoad形式(举荐浏览:Spark之读写HBase),性能是一般写入形式几倍以上;

2)存入HBase:一般写入是用JavaAPI put来实现,批量导入举荐应用BulkLoad;

3)保证数据的正确:这里须要思考RowKey的设计、预建分区和列族设计等问题;

4)在规定工夫内实现也就是存入速度不能过慢,并且当然是越快越好,应用BulkLoad。