天天看點

大資料應用之HBase資料插入性能優化實測教程

引言:

  大家在使用hbase的過程中,總是面臨性能優化的問題,本文從hbase用戶端參數設定的角度,研究hbase用戶端資料批量插入性能優化的問題。事實勝于雄辯,資料比理論更有說服力,基于此,作者設計了這麼一個hbase資料插入性能優化實測實驗,希望大家用自己的伺服器跑出的結果,給自己一個值得信服的結論。

一、客戶單優化參數

  1.put list size

hbase的put支援單條插入,也支援批量插入。

2. autoflush  

autoflush指的是在每次調用hbase的put操作,是否送出到hbase server。 預設是true,每次會送出。如果此時是單條插入,就會有更多的io,進而降低性能

3.write buffer size

write buffer size在autoflush為false的時候起作用,預設是2mb,也就是當插入資料超過2mb,就會自動送出到server

 4.wal

wal是write ahead log的縮寫,指的是hbase在插入操作前是否寫log。預設是打開,關掉會提高性能,但是如果系統出現故障(負責插入的region server  挂掉),資料可能會丢失。

參數

預設值

說明

jvm heap size

平台不同值不同自行設定

autoflush

true

預設逐條送出

put list size

1

支援逐條和批量

write buffer size

2m

與autoflush配合使用

write ahead log

預設開啟,需要手動關閉

二、源碼程式

三、叢集配置

3.1 伺服器硬體配置清單

序号

節點名稱

cup

記憶體

硬碟

帶寬

hmaster

2

hregionserver1

3

hregionserver2

4

5

6

7

3.2 用戶端硬體配置清單

裝置

cpu

四、測試報告

資料量

jvm

writebuffersize

wal

耗時

1000

512m

false

1024*1024*24

2000

5000

10000

20000

50000

100000

200000

500000

備注:該技術專題讨論正在群hadoop進階交流群:293503507同步直播中,敬請關注。