Hadoop 面试题之Hbase
?
Hadoop 面試題之九
?
16.Hbase 的rowkey 怎么創(chuàng)建比較好?列族怎么創(chuàng)建比較好?
答:
19.Hbase 內(nèi)部是什么機制?
答:
?
73.hbase 寫數(shù)據(jù)的原理是什么?
答:
75.hbase宕機如何處理?
答:
144. 如果讓你設(shè)計,你覺得一個分布式文件系統(tǒng)應(yīng)該如何設(shè)計,考慮哪方面內(nèi)容;
每天百億數(shù)據(jù)入hbase,如何保證數(shù)據(jù)的存儲正確和在規(guī)定的時間里全部錄入完畢,
不殘留數(shù)據(jù)。
答:
149.hbase過濾器實現(xiàn)原則。
答:
?
164.介紹一下hbase過濾器。
答:
?
167.hbase集群安裝注意事項。
答:
?
319.Hbase 在進行模型設(shè)計時重點在什么地方?一張表中定義多少個Column Family
最合適?為什么?
答:
?
320.如何提高HBase客戶端的讀寫性能?請舉例說明。
答:
?
?
353.我們的hbase 大概在公司業(yè)務(wù)中(主要是網(wǎng)上商城)大概都有幾個表,幾個表族,大概都存什么樣的數(shù)據(jù)?
答:
354.hbase的并發(fā)問題? storm 問題
答:
394.你們用HBASE 存儲什么數(shù)據(jù)?
答:
407.Hbase的體系結(jié)構(gòu)和搭建步驟、shell命令與JavaApi、hbase作為Mapreduce
的輸入輸出源、高級Javaapi、工作原理(重點是combine和split原理)、行健設(shè)計原則、性能優(yōu)化?
答:
414.現(xiàn)在我們要對oracle 和hbase中的某些表進行更新,你是怎么操作?
提示:disable ‘表名’
alter ’表名’,name=>列名’,versions =>3
enable ‘表名’
答:
?
415.hbase 接受數(shù)據(jù),如果短時間導(dǎo)入數(shù)量過多的話就會被鎖,該怎么辦?集群數(shù)16臺,高可用性的環(huán)境。
參考:
通過調(diào)用Htable.setAutoFlush(false)方法可以將htable寫客戶端的自動flush關(guān)閉,這樣可以批量寫入到數(shù)據(jù)到hbase。而不是有一條put 就執(zhí)行一次更新,只有當put填滿客戶端寫緩存時,才實際向Hbase 服務(wù)端發(fā)起請求。默認情況下auto flush 是開啟的。
答:
?
419.怎樣將mysql的數(shù)據(jù)導(dǎo)入到hbase中?不能使用sqoop,速度太慢了
提示:
A、一種可以加快批量寫入速度的方法是通過預(yù)先創(chuàng)建一些空的regions,這樣當數(shù)據(jù)寫入hbase時,會按照region分區(qū)情況,在集群內(nèi)做數(shù)據(jù)的負載均衡。
B、hbase 里面有這樣一個hfileoutputformat類,他的實現(xiàn)可以將數(shù)據(jù)轉(zhuǎn)換成hfile格式,通過new一個這個類,進行相關(guān)配置,這樣會在Hdfs下面產(chǎn)生一個文件,這個時候利用hbase提供的jruby的loadtable.rb腳本就可以進行批量導(dǎo)入。
?
433.介紹一下Hbase過濾器
參考::http://blog.sina.com.cn/s/blog_ae33b83901017km4.html
?
435.談?wù)凥base集群安裝注意事項?
提示:需要注意的地方是zookeeper的配置,這與hbase-env.sh 文件相關(guān),文集中hbase_managers_zk環(huán)境變量用來設(shè)置是使用hbase 默認自帶的zookeeper 還是使用隊里的zookeeper。HBASE_MANGES_ZK=false 時,使用獨立的。true是使用默認自帶的。
某個節(jié)點的hregionserver啟動失敗,這是由于這3個節(jié)點的系統(tǒng)時間不一致相差超過集群的檢查時間30s。
?
477.簡述HBase的瓶頸
提示:HBase的瓶頸就是硬傳輸速度,Hbase 的操作,它可以往數(shù)據(jù)里面 insert,也可以update一些數(shù)據(jù),但update 的實際上也是insert,只是插入一個新的時間戳的一行,delete數(shù)據(jù),也是insert,只是insert一行帶有delete標記的一行。hbase的所有操作都是追加插入操作。hbase是一種日志集數(shù)據(jù)庫。它的存儲方式,像是日志文件一樣。它是批量大量的往硬盤中寫,通常都是以文件形式的讀寫。這個讀寫速度,就取決于硬盤與機器之間的傳輸有多快。而oracle的瓶頸是硬盤尋到時間。它經(jīng)常的操作時隨機讀寫。要update一個數(shù)據(jù),先要在硬盤中找到這個block,然后把它讀入內(nèi)存,在內(nèi)存中的緩存中修改,過段時間再回寫回去。由于你尋找的block不通,這就存在一個隨機的讀。硬盤的尋道時間主要由轉(zhuǎn)速來決定。而尋道時間,技術(shù)基本沒有改變,這就形成了尋道時間瓶頸。
?
491.HBase如果只向一個RegionServer寫入數(shù)據(jù),有什么優(yōu)點?
?
答:
?
494.HBase一行數(shù)據(jù)如何存儲?
?
501.hbase的存儲原理
?
545.hbase協(xié)處理器?
?
421.怎么知道hbase表里哪些做索引?哪些沒有做索引?
提示:
有且僅有一個:rowkey,所以hbase得快速查找建立在rowkey的基礎(chǔ)的,而不能像一般的關(guān)系型數(shù)據(jù)庫那樣建立多個索引來達到多條件查找的效果。
24.Hbase過濾器實現(xiàn)原則
?
----------------------------------------------------------------have done-------------------------------------------------------------
60.描述Hbase搭建過程
1.首先需要hadoop運行環(huán)境
2.其次需要zookeeper
3.復(fù)制Hadoop的core-site.xml,hdfs-site.xml
4.配置
?
?
?
351.hbase 怎么給web前臺提供接口來訪問(Htable 可以提供對htable的訪問,但是怎么查詢同一條記錄的多個版本數(shù)據(jù)?)
答:用javaapi 搞定,查詢? 多個版本需要指定timestamp
轉(zhuǎn)載于:https://www.cnblogs.com/chaoren399/p/4714814.html
總結(jié)
以上是生活随笔為你收集整理的Hadoop 面试题之Hbase的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jenkins自动化部署容器
- 下一篇: 5分钟掌握var,let和const异同