日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

作者:大叔據 來自:大叔據

HBase 有哪些優化點?

這是個相對開放的問題,問題沒有那么得細,面對這種問題千萬不要亂了陣腳,其實這種問題答得好是很加分的,可以從幾個不同的方向來回答,這樣顯得有條理,而且可以向面試官展現你的多維度思考和總結的能力。

兩個角度,一個從使用者的角度,一個從維護者的角度。

1. 從使用者的角度,可以優化存儲模型的設計,包括以下幾個方面:

rowkey設計:高位用散列,長度不宜過長,可以適當地把需要檢索的條件拼接在rowkey里。查詢時盡量用get,scan時要指定start/end key。

列族的設計:列族盡量少,且不同列族的數據量要盡量均勻。

列族盡量少是因為列族對應的底層存儲的一個文件目錄,文件目錄少有助于提高文件檢索速度。

數據量要均勻是因為,當一個cf量大到一定程度,memstore會刷盤,而刷盤這個動作不是只針對單個cf,而是整個服務器,這個時候如果另一個cf的數據量很小那也會跟著刷盤,這就造成了會有大量小文件生成,HDFS是最忌諱小文件的,同時小文件的過多也會影響檢索的效率,需要從多個文件中檢索目標。

預分區:在寫比較頻繁的場景下,數據增長太快,split的次數也會增多,額外的資源消耗也會增大,另外數據分布不均勻會造成熱點問題,這些都是需要預分區的原因。

2. 從系統維護者的角度來說,可以對系統優化,包括以下幾個方面:

內存優化:HBase有兩塊主要的內存memstore和blockCache的配置

BlockCache,如果寫比讀少很多,可以開到0.4-0.5。如果讀寫較均衡,0.3左右。如果寫比讀多,就默認0.2。設置這個值的時候,也要參考hbase.regionserver.global.memstore.upperLimit,該值是memstore占heap的最大百分比,兩個參數一個影響讀,一個影響寫。如果兩值加起來超過80-90%,會有OOM的風險。具體就不說了,看我之前的文章 HBase篇(4)-你不知道的HFile

GC優化:默認cms,可以優化為G1。

壓縮:默認未開啟,建議使用SnAppy和LZO,壓縮比,壓縮解壓速率,資源消耗都是比較平衡的。

BloomFilter:默認未開啟,需要在建立表的時候加入。用布隆過濾可以節省讀磁盤過程,可以有助于降低讀取延遲。具體就不說了看我之前的文章 HBase篇(5)- BloomFilter

其實還有一些其他零零散散的點,就不說了,說這么多對于這個問題來說已經回答地很完美了。說這些的過程中的某些點面試官很有可能是會追問下去的,比如內存優化,bloomfilter等,所以可以看得深入一點,回答的時候也能更加從容一點。

HRegionServer宕機后系統是怎么保證可用性的 ?

宕機恢復的過程也是面試中的常見問題,重點是wal機制。

1. ZooKeeper會監控HRegionServer的上下線情況,當ZK發現某個HRegionServer宕機之后會通知HMaster進行失效備援;

2. 該HRegionServer會停止對外提供服務,就是它所負責的region暫時停止對外提供服務

3. HMaster會將該HRegionServer所負責的region轉移到其他HRegionServer上,并且會對HRegionServer上存在memstore中還未持久化到磁盤中的數據進行恢復

4. 這個恢復的工作是由WAL重播來完成,這個過程如下:

  • wal實際上就是一個文件,存在/hbase/WAL/對應RegionServer路徑下。
  • 宕機發生時,讀取該RegionServer所對應的路徑下的wal文件,然后根據不同的region切分成不同的臨時文件recover.edits。
  • 當region被分配到新的RegionServer中,RegionServer讀取region時會進行是否存在recover.edits,如果有則進行恢復。

說說HBase 的 compaction 過程和作用?

在hbase中每當有memstore數據flush到磁盤之后,就形成一個storefile,當storeFile的數量達到一定程度后,就需要將 storefile 文件來進行 compaction 操作。

compaction 的作用:

  • 合并文件
  • 清除過期,多余版本的數據
  • 提高讀寫數據的效率

另外可以再說下compaction的兩種方式。

HBase 中實現了兩種 compaction 的方式:minor and major. 這兩種 compaction 方式的區別是:

1. Minor 操作只用來做部分文件的合并操作以及包括 minVersion=0 并且設置 ttl 的過期版本清理,不做任何刪除數據、多版本數據的清理工作。

2. Major 操作是對 Region 下的HStore下的所有StoreFile執行合并操作,最終的結果是整理合并出一個文件。

分享到:
標簽:HBase
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定