1:hadoop體系架構(gòu)中,hbase與其他組成部分的相互關(guān)系。
答:hbase利用hadoop mapreduce來(lái)處理hbase中的海量數(shù)據(jù)注暗,實(shí)現(xiàn)高性能計(jì)算冕臭;
利用zookeeper作為協(xié)同服務(wù),實(shí)現(xiàn)穩(wěn)定服務(wù)和失敗恢復(fù)卷胯;
使用hdfs作為高可靠的底層存儲(chǔ)子刮,利用廉價(jià)集群提供海量數(shù)據(jù)存儲(chǔ)能力;
sqoop為hbase提供了高效窑睁、便捷的關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)入功能挺峡;
pig和hive為hbase提供了高層語(yǔ)言支持。
2:請(qǐng)闡述hbase和傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)的區(qū)別担钮。
答: 關(guān)系 hbase
數(shù)據(jù)類型:關(guān)系模型 數(shù)據(jù)模型
存儲(chǔ)模式:基于行模式 基于列模式
數(shù)據(jù)索引:復(fù)雜的索引 唯一行鍵索引
數(shù)據(jù)維護(hù):更新覆蓋 更新新版本不覆蓋
可伸縮性:橫向不易和縱向有限 極其容易
數(shù)據(jù)操作:豐富的操作(表之間)基礎(chǔ)操作(無(wú)表之間)
hbase不支持事務(wù)
3:分別解釋hbase中行鍵橱赠、列鍵和時(shí)間戳的概念。
答:時(shí)間戳:默認(rèn)系統(tǒng)設(shè)置箫津;也可手動(dòng)用戶自行設(shè)定狭姨;區(qū)分應(yīng)用和數(shù)據(jù)的不同版本
行鍵:唯一標(biāo)識(shí)某一行的字節(jié)數(shù)組
列鍵:唯一標(biāo)識(shí)某一列的字節(jié)數(shù)組
4:試述hbase各功能組件及其作用。
(1)庫(kù)函數(shù):鏈接到每個(gè)客戶端苏遥;
(2)Master主服務(wù)器:主要負(fù)責(zé)表和Region的管理工作
(3)Region服務(wù)器:負(fù)責(zé)存儲(chǔ)和維護(hù)分配給自己的Region,處理來(lái)自客戶端的讀寫請(qǐng)求送挑。
12:請(qǐng)闡述HBase的三層結(jié)構(gòu)下,客戶端是如何訪問(wèn)到數(shù)據(jù)的暖眼。
答:首先訪問(wèn)Zookeeper惕耕,獲取-ROOT表的位置信息,然后訪問(wèn)-Root-表诫肠,獲得.MATA.表的信息司澎,接著訪問(wèn).MATA.表,找到所需的Region具體位于哪個(gè)Region服務(wù)器栋豫,最后才會(huì)到該Region服務(wù)器讀取數(shù)據(jù)挤安。
17:在HBase中,每個(gè)Region服務(wù)器維護(hù)一個(gè)HLog丧鸯,而不是為每個(gè)Region都單獨(dú)維護(hù)一個(gè)HLog蛤铜。請(qǐng)說(shuō)明這種做法的優(yōu)缺點(diǎn)。
答:優(yōu)點(diǎn): 多個(gè)Region對(duì)象的更新操作所發(fā)生的日志修改,只需要不斷把日志記錄追加到單個(gè)日志文件中围肥,不需要同時(shí)打開剿干、寫入到多個(gè)日志文件中。
缺點(diǎn):如果一個(gè)Region服務(wù)器發(fā)生故障穆刻,為了恢復(fù)其上次的Region對(duì)象置尔,需要將Region服務(wù)器上的對(duì)象,需要將Region服務(wù)器上的HLog按照其所屬的Region對(duì)象進(jìn)行拆分氢伟,然后分發(fā)到其他Region服務(wù)器上執(zhí)行恢復(fù)操作榜轿。