Hadoop 面试题之九
16.Hbase 的rowkey 怎么创建比较好?列族怎么创建比较好?
答:
19.Hbase 内部是什么机制?
答:
73.hbase 写数据的原理是什么?
答:
75.hbase宕机如何处理?
答:
144. 如果让你设计,你觉得一个分布式文件系统应该如何设计,考虑哪方面内容;
每天百亿数据入hbase,如何保证数据的存储正确和在规定的时间里全部录入完毕,
不残留数据。
答:
149.hbase过滤器实现原则。
答:
164.介绍一下hbase过滤器。
答:
167.hbase集群安装注意事项。
答:
319.Hbase 在进行模型设计时重点在什么地方?一张表中定义多少个Column Family
最合适?为什么?
答:
320.如何提高HBase客户端的读写性能?请举例说明。
答:
353.我们的hbase 大概在公司业务中(主要是网上商城)大概都有几个表,几个表族,大概都存什么样的数据?
答:
354.hbase的并发问题? storm 问题
答:
394.你们用HBASE 存储什么数据?
答:
407.Hbase的体系结构和搭建步骤、shell命令与JavaApi、hbase作为Mapreduce
的输入输出源、高级Javaapi、工作原理(重点是combine和split原理)、行健设计原则、性能优化?
答:
414.现在我们要对oracle 和hbase中的某些表进行更新,你是怎么操作?
提示:disable ‘表名’
alter ’表名’,name=>列名’,versions =>3
enable ‘表名’
答:
415.hbase 接受数据,如果短时间导入数量过多的话就会被锁,该怎么办?集群数16台,高可用性的环境。
参考:
通过调用Htable.setAutoFlush(false)方法可以将htable写客户端的自动flush关闭,这样可以批量写入到数据到hbase。而不是有一条put 就执行一次更新,只有当put填满客户端写缓存时,才实际向Hbase 服务端发起请求。默认情况下auto flush 是开启的。
答:
419.怎样将mysql的数据导入到hbase中?不能使用sqoop,速度太慢了
提示:
A、一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这样当数据写入hbase时,会按照region分区情况,在集群内做数据的负载均衡。
B、hbase 里面有这样一个hfileoutputformat类,他的实现可以将数据转换成hfile格式,通过new一个这个类,进行相关配置,这样会在Hdfs下面产生一个文件,这个时候利用hbase提供的jruby的loadtable.rb脚本就可以进行批量导入。
433.介绍一下Hbase过滤器
参考::http://blog.sina.com.cn/s/blog_ae33b83901017km4.html
435.谈谈Hbase集群安装注意事项?
提示:需要注意的地方是zookeeper的配置,这与hbase-env.sh 文件相关,文集中hbase_managers_zk环境变量用来设置是使用hbase 默认自带的zookeeper 还是使用队里的zookeeper。HBASE_MANGES_ZK=false 时,使用独立的。true是使用默认自带的。
某个节点的hregionserver启动失败,这是由于这3个节点的系统时间不一致相差超过集群的检查时间30s。
477.简述HBase的瓶颈
提示:HBase的瓶颈就是硬传输速度,Hbase 的操作,它可以往数据里面 insert,也可以update一些数据,但update 的实际上也是insert,只是插入一个新的时间戳的一行,delete数据,也是insert,只是insert一行带有delete标记的一行。hbase的所有操作都是追加插入操作。hbase是一种日志集数据库。它的存储方式,像是日志文件一样。它是批量大量的往硬盘中写,通常都是以文件形式的读写。这个读写速度,就取决于硬盘与机器之间的传输有多快。而oracle的瓶颈是硬盘寻到时间。它经常的操作时随机读写。要update一个数据,先要在硬盘中找到这个block,然后把它读入内存,在内存中的缓存中修改,过段时间再回写回去。由于你寻找的block不通,这就存在一个随机的读。硬盘的寻道时间主要由转速来决定。而寻道时间,技术基本没有改变,这就形成了寻道时间瓶颈。
491.HBase如果只向一个RegionServer写入数据,有什么优点?
答:
494.HBase一行数据如何存储?
501.hbase的存储原理
545.hbase协处理器?
421.怎么知道hbase表里哪些做索引?哪些没有做索引?
提示:
有且仅有一个:rowkey,所以hbase得快速查找建立在rowkey的基础的,而不能像一般的关系型数据库那样建立多个索引来达到多条件查找的效果。
24.Hbase过滤器实现原则
----------------------------------------------------------------have done-------------------------------------------------------------
60.描述Hbase搭建过程
1.首先需要hadoop运行环境
2.其次需要zookeeper
3.复制Hadoop的core-site.xml,hdfs-site.xml
4.配置
351.hbase 怎么给web前台提供接口来访问(Htable 可以提供对htable的访问,但是怎么查询同一条记录的多个版本数据?)
答:用javaapi 搞定,查询 多个版本需要指定timestamp