hbase+hadoop運維的一點經驗

目前系統上線,不斷的有新問題,也不斷的在總結一些經驗,發在這裏,做下mark,同時也爲hbase使用者提供一些思路吧。

1、單條rowkey下雖然能支持百萬列,但是建議不要這麼做,因爲真正一個rowkey下掛了這麼多數據時會在兩個地方出現問題,一是查詢時單行記錄數據量過大,client超時;第二個問題是regionserver做compact的過程有可能被單條rowkey的數據塞滿內存造成OOM

2、datanode的handler的數量不要默認值,太少,要在100左右,另外regionserver的handler的數量在200左右比較合適

3、resultScannser使用完畢記得關閉

4、HTablePool可以管理HTable。查詢結束後直接用HTablePool.put(HTable t)來回收,入庫結束後記得table.flushCommit()後再回收

5、mapred.local.dir這個參數是mapreduce會在機器的硬盤上做臨時文件的存放,如果掛載的多塊盤請將每個盤都配上,提升總體性能

6、map階段的輸出可以配置LZO壓縮,這樣能有效節省map->reduce階段的網絡帶寬,不過會提高cpu的佔用率

7、多網卡綁定能有效提高hadoop體系的網絡帶寬

8、bulkload目前測試的性能在單節點51GB/小時左右,希望其他有做過的同學能交流一下bulkload方面的問題。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章