Hadoop平臺(tái)搭建與應(yīng)用(第2版)(微課版)-課后習(xí)題及答案 項(xiàng)目4_第1頁(yè)
Hadoop平臺(tái)搭建與應(yīng)用(第2版)(微課版)-課后習(xí)題及答案 項(xiàng)目4_第2頁(yè)
Hadoop平臺(tái)搭建與應(yīng)用(第2版)(微課版)-課后習(xí)題及答案 項(xiàng)目4_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Hadoop平臺(tái)搭建與應(yīng)用項(xiàng)目2Hive環(huán)境搭建與基本操作PAGE68PAGE69HRegionServer宕機(jī)如何處理?(1)ZooKeeper會(huì)監(jiān)控HRegionServer的上下線情況,當(dāng)ZK發(fā)現(xiàn)某個(gè)HRegionServer宕機(jī)之后會(huì)通知HMaster進(jìn)行失效備援;(2)該HRegionServer會(huì)停止對(duì)外提供服務(wù),就是它所負(fù)責(zé)的region暫時(shí)停止對(duì)外提供服務(wù);(3)HMaster會(huì)將該HRegionServer所負(fù)責(zé)的region轉(zhuǎn)移到其他HRegionServer上,并且會(huì)對(duì)HRegionServer上存在內(nèi)存中還未持久化到磁盤中的數(shù)據(jù)進(jìn)行恢復(fù);(4)這個(gè)恢復(fù)的工作是由WAL重播來(lái)完成,這個(gè)過(guò)程如下:①WAL實(shí)際上就是一個(gè)文件,存在/hbase/WAL/對(duì)應(yīng)RegionServer路徑下。②宕機(jī)發(fā)生時(shí),讀取該RegionServer所對(duì)應(yīng)的路徑下的WAL文件,然后根據(jù)不同的region切分成不同的臨時(shí)文件recover.edits。③當(dāng)region被分配到新的RegionServer中,RegionServer讀取region時(shí)會(huì)進(jìn)行判斷是否存在recover.edits,如果存在則進(jìn)行恢復(fù)。2.請(qǐng)描述HBase讀寫(xiě)流程?(1)讀操作如下:①HRegionServer保存著Meta表以及表數(shù)據(jù),要訪問(wèn)表數(shù)據(jù),首先Client先去訪問(wèn)Zookeeper,從Zookeeper里面獲取Meta表所在的位置信息,即找到這個(gè)Meta表在哪個(gè)HRegionServer上保存著。②接著Client通過(guò)剛才獲取到的HRegionServer的IP來(lái)訪問(wèn)Meta表所在的HRegionServer,從而讀取到Meta,進(jìn)而獲取到Meta表中存放的元數(shù)據(jù)。③Client通過(guò)元數(shù)據(jù)中存儲(chǔ)的信息,訪問(wèn)對(duì)應(yīng)的HRegionServer,然后掃描所在HRegionServer的Memstore和Storefile來(lái)查詢數(shù)據(jù)。④最后HRegionServer把查詢到的數(shù)據(jù)響應(yīng)給Client。(2)寫(xiě)操作如下:①Client先訪問(wèn)Zookeeper,找到Meta表,并獲取Meta表元數(shù)據(jù)。②確定當(dāng)前將要寫(xiě)入的數(shù)據(jù)所對(duì)應(yīng)的HRegion和HRegionServer服務(wù)器。③Client向該HRegionServer服務(wù)器發(fā)起寫(xiě)入數(shù)據(jù)請(qǐng)求,然后HRegionServer收到請(qǐng)求并響應(yīng)。④Client先把數(shù)據(jù)寫(xiě)入到HLog,以防止數(shù)據(jù)丟失。⑤然后將數(shù)據(jù)寫(xiě)入到Memstore。⑥如果HLog和Memstore均寫(xiě)入成功,則這條數(shù)據(jù)寫(xiě)入成功⑦如果Memstore達(dá)到閾值,會(huì)把Memstore中的數(shù)據(jù)Flush到Storefile中。⑧當(dāng)Storefile越來(lái)越多,會(huì)觸發(fā)Compact合并操作,把過(guò)多的Storefile合并成一個(gè)大的Storefile。⑨當(dāng)Storefile越來(lái)越大,Region也會(huì)越來(lái)越大,達(dá)到閾值后,會(huì)觸發(fā)Split操作,將Region一分為二。3.如何提高HBase客戶端的讀寫(xiě)性能?(1)開(kāi)啟Bloomfilter過(guò)濾器,開(kāi)啟Bloomfilter比沒(méi)開(kāi)啟要快得多。(2)HBase對(duì)于內(nèi)存有特別的需求,在硬件允許的情況下配足夠多的內(nèi)存給它(3)通過(guò)修改hbase-env.sh中的exportHBASE_HEAPSIZE=3000#默認(rèn)為1000(4)增大RPC數(shù)量通過(guò)修改hbase-site.xml中的hbase.regionserver.handler.count屬性,可以適當(dāng)?shù)姆糯驲PC數(shù)量,默認(rèn)值為10有點(diǎn)小。請(qǐng)描述HBase實(shí)時(shí)查詢的原理。實(shí)時(shí)查詢,可以認(rèn)為是從內(nèi)存中查詢,HBase的機(jī)制是數(shù)據(jù)先寫(xiě)入到內(nèi)存中,當(dāng)數(shù)據(jù)量達(dá)到一定的量(如128M),再寫(xiě)入磁盤中,在內(nèi)存中,是不進(jìn)行數(shù)據(jù)的更新或合并操作的,只增加數(shù)據(jù),這使得用戶的寫(xiě)操作只要進(jìn)入內(nèi)存中就可以立即返回,保證了HBaseI/O的高性能。HBase如何導(dǎo)入數(shù)據(jù)?(1)通過(guò)HBaseAPI進(jìn)行批量寫(xiě)入數(shù)據(jù);(2)使用Sqoop工具批量導(dǎo)數(shù)到HBase集群;(3)使用MapReduce批量導(dǎo)入:通常MapReduce在寫(xiě)HBase時(shí)使用的是TableOutputFormat方式,在Reduce中直接生成Put對(duì)象寫(xiě)入HBase。(4)HBaseBulkLoad的方式:利用HBase數(shù)據(jù)按照HFile格式存儲(chǔ)在HDFS的原理,使用Mapreduce直接生成HFile格式文件后,RegionServers再將HFile文件移動(dòng)到相應(yīng)的Region目錄下。6.請(qǐng)描述HBase的存儲(chǔ)結(jié)構(gòu)?HBase中的每張表都通過(guò)行鍵(RowKey)按照一定的范圍被分割成多個(gè)子表(HRegion),默認(rèn)一個(gè)HRegion超過(guò)256M就要被分割成兩個(gè),由HRegionServer管理,HRegionServer管理哪些HRegion由Hmaster分配。HRegion存取一個(gè)子表時(shí),會(huì)創(chuàng)建一個(gè)HRegion對(duì)象,然后對(duì)表的每個(gè)列族(ColumnFamily)創(chuàng)建一個(gè)Store實(shí)例,每個(gè)Store都會(huì)有0個(gè)或多個(gè)StoreFile與之對(duì)應(yīng),每個(gè)StoreFile都會(huì)對(duì)應(yīng)一個(gè)HFile,HFile就是實(shí)際的存儲(chǔ)文件,因此,一個(gè)HRegion還擁有一個(gè)MemStore實(shí)例。7.HBase適用于怎樣的情景?(1)半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)對(duì)于數(shù)據(jù)結(jié)構(gòu)字段不夠確定或雜亂無(wú)章很難按一個(gè)概念去進(jìn)行抽取的數(shù)據(jù)適合用HBase。2)記錄非常稀疏RDBMS的行有多少列是固定的,為Null的列浪費(fèi)了存儲(chǔ)空間。而HBase為Null的Column不會(huì)被存儲(chǔ),這樣既節(jié)省了空間又提高了讀性能。3)多版本數(shù)據(jù)根據(jù)Rowkey和Columnkey定位到的Value可以有任意數(shù)量的版本值,因此對(duì)于需要存儲(chǔ)變動(dòng)歷史記錄的數(shù)據(jù),用HBase就非常方便了。業(yè)務(wù)上一般只需要最新的值,但有時(shí)可能需要查詢到歷史值。4)超大數(shù)據(jù)量當(dāng)數(shù)據(jù)量越來(lái)越大,RDBMS數(shù)據(jù)庫(kù)撐不住了,就出現(xiàn)了讀寫(xiě)分離策略,通過(guò)一個(gè)Master專門負(fù)責(zé)寫(xiě)操作,多個(gè)Slave負(fù)責(zé)讀操作,服務(wù)器成本倍增。隨著壓力增加,Master撐不住了,這時(shí)就要分庫(kù)了,把關(guān)聯(lián)不大的數(shù)據(jù)分開(kāi)部署,一些join查詢不能用了,需要借助中間層。隨著數(shù)據(jù)量的進(jìn)一步增

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論