hbase 常用參數

摘自:http://debugo.com/hbase-params/

通用和master配置
hbase.rootdir

默認: file:///tmp/hbase-${user.name}/hbase
region server的數據根目錄,用來持久化HBase。例如,要表示hdfs中的’/hbase’目錄,namenode 運行在debugo01的8020端口,則需要設置為hdfs:// debugo01:8020/hbase。這個是必須要設置的項目,默認值本地文件系統的/tmp只能在單機模式使用。

hbase.master.port

默認: 60000
HBase的Master服務端口。

hbase.cluster.distributed

默認: false
HBase的運行模式。false是單機模式,true是分布式模式。若為false,HBase和Zookeeper會運行在同一個JVM里面。

hbase.tmp.dir

本地的臨時目錄。需要注意的是默認的/tmp會在重啟時清空。
默認: /tmp/hbase-${user.name}

hbase.master.info.port

默認: 60010
HBase Master web UI的端口. 設置為-1 則不運行web UI。

hbase.master.info.bindAddress

默認: 0.0.0.0
HBase Master web UI綁定的IP

hbase.master.dns.interface

當使用DNS的時候,Master用來上報的IP地址的網絡接口名字。
默認: default

hbase.master.dns.nameserver

當使用DNS的時候,RegionServer的DNS域名或者IP 地址,Master用它來確定用來進行通訊的域名.
默認: default

hbase.snapshot.enabled

是否啟用snapshot功能。
默認值:true

hbase.balancer.period

Master執行region balancer的間隔。
默認: 300000

hbase.master.logcleaner.ttl

Hlog存在于.oldlogdir 文件夾的最長時間, 超過了就會被 Master 的線程清理掉.
默認: 600000

hbase.master.logcleaner.plugins

LogsCleaner服務會執行的一組LogCleanerDelegat。值用逗號間隔的文本表示。這些WAL/HLog cleaners會按順序調用。可以把先調用的放在前面。你可以實現自己的LogCleanerDelegat,加到Classpath下,然后在這里寫下類的全稱。一般都是加在默認值的前面。
默認: org.apache.hadoop.hbase.master.TimeToLiveLogCleaner

hbase.rest.port

HBase REST server的端口
默認: 8080

hbase.rest.readonly

定義REST server的運行模式。可以設置成如下的值: false: 所有的HTTP請求都是被允許的 – GET/PUT/POST/DELETE. true:只有GET請求是被允許的
默認: false

hbase.coprocessor.master.classes

Master所使用的協處理器類名。多個類的情況下使用逗號分割。比如使用org.apache.hadoop.hbase.security.access.AccessController提供了安全管控能力。
默認: null。

hbase.rpc.engine

HBase使用的rpc引擎類。一般使用帶安全驗證的org.apache.hadoop.hbase.ipc. SecureRpcEngine類
默認: null。

** RegionServer相關**
hbase.regionserver.port

默認: 60020
HBase RegionServer綁定的端口

hbase.regionserver.info.port

默認: 60030
HBase RegionServer web 界面綁定的端口。設置為-1 則不運行web UI

hbase.regionserver.info.port.auto

默認: false
RegionServer是否在當hbase.regionsever.info.port已經被占用的時候,可以搜一個空閑的端口綁定。默認關閉。

hbase.regionserver.info.bindAddress

默認: 0.0.0.0
HBase RegionServer web 界面的IP地址

hbase.regionserver.class

默認: org.apache.hadoop.hbase.ipc.HRegionInterface
RegionServer接口類。客戶端在連接region server的時候會使用到。

hbase.regionserver.lease.period

默認: 60000
客戶端租用HRegion server 期限,即超時閥值。單位是毫秒。默認情況下,客戶端必須在這個時間內發一條信息,否則視為死掉。

hbase.regionserver.handler.count

默認: 10
RegionServers受理的RPC Server實例數量。對于Master來說,這個屬性是Master受理的handler數量

hbase.regionserver.msginterval

默認: 3000
RegionServer 發消息給 Master 時間間隔,單位是毫秒

hbase.regionserver.optionallogflushinterval

默認: 1000
將Hlog同步到HDFS的間隔。如果Hlog沒有積累到一定的數量,到了時間,也會觸發同步。默認是1秒,單位毫秒。

hbase.regionserver.regionSplitLimit

默認: 2147483647
region的數量到了這個值后就不會在分裂了。這不是一個region數量的硬性限制。但是起到了一定指導性的作用。默認是MAX_INT(不限制)。

hbase.regionserver.logroll.period

默認: 3600000
提交commit log的間隔,不管有沒有寫足夠的值。

hbase.regionserver.hlog.enabled

默認:true
是否啟用WAL

hbase.regionserver.wal.enablecompression

默認:false
是否對日志壓縮

hbase.regionserver.hlog.reader.impl

默認: org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogReader
HLog file reader 的實現.

hbase.regionserver.hlog.writer.impl

默認: org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogWriter
HLog file writer 的實現.

hbase.regionserver.thread.splitcompactcheckfrequency

默認: 20000
region server 多久執行一次split/compaction 檢查.

hbase.regionserver.nbreservationblocks

默認: 4
儲備的內存block的數量(譯者注:就像石油儲備一樣)。當發生out of memory 異常的時候,我們可以用這些內存在RegionServer停止之前做清理操作。

hbase.regionserver.dns.interface

默認: default
當使用DNS的時候,RegionServer用來上報的IP地址的網絡接口名字。

hbase.regionserver.dns.nameserver

默認: default
當使用DNS的時候,RegionServer使用的DNS的域名或者IP 地址,RegionServer用它來確定和master用來進行通訊的域名.

hbase.regions.slop

默認: 0
當任一regionserver有average + (average * slop)個region是會執行Rebalance

hbase.regionserver.global.memstore.upperLimit

默認: 0.4
單個region server的全部memtores的最大值。超過這個值,一個新的update操作會被掛起,強制執行flush操作。

hbase.regionserver.global.memstore.lowerLimit

默認: 0.35
當強制執行flush操作的時候,當低于這個值的時候,flush會停止。默認是堆大小的 35% . 如果這個值和 hbase.regionserver.global.memstore.upperLimit 相同就意味著當update操作因為內存限制被掛起時,會盡量少的執行flush(譯者注:一旦執行flush,值就會比下限要低,不再執行)

hbase.coprocessor.regionserver.classes

Master所使用的協處理器類名。多個類的情況下使用逗號分割。比如使用org.apache.hadoop.hbase.security.access.AccessController提供了安全管控能力。
默認: null。

Client相關參數
hbase.client.write.buffer

默認: 2097152
HTable客戶端的寫緩沖的默認大小。因為緩沖在客戶端和服務端需要申請空間,需要消耗客戶端和服務端兩個地方的內存。較大的buffer,可以減少RPC的次數,從而提高性能。估算服務器端被占用的內存: hbase.client.write.buffer * hbase.regionserver.handler.count

hbase.client.pause

默認: 1000
客戶端操作失敗后的重試暫停時間。

hbase.client.retries.number

默認: 10
客戶端失敗后的最大重試次數。例如region查詢,get,Update等操作。

hbase.client.scanner.caching

默認: 1
當調用Scanner的next方法,而值又不在緩存里的時候,從服務端一次獲取的行數。越大的值意味著Scanner會快一些,但是會占用更多的內存。當緩沖被占滿的時候,next方法調用會越來越慢。慢到一定程度,可能會導致超時。例如超過了hbase.regionserver.lease.period。

hbase.client.keyvalue.maxsize

默認: 10485760
一個KeyValue實例的最大size.這個是用來設置存儲文件中的單個entry的大小上界。因為一個KeyValue是不能分割的,所以可以避免因為數據過大導致region不可分割。明智的做法是把它設為可以被最大region size整除的數。如果設置為0或者更小,就會禁用這個檢查。默認10MB。

** ZooKeeper相關**
hbase.zookeeper.dns.interface

當使用DNS的時候,Zookeeper用來上報的IP地址的網絡接口名字。
默認: default

hbase.zookeeper.dns.nameserver

默認: default
當使用DNS的時候,Zookeepr使用的DNS的域名或者IP 地址,Zookeeper用它來確定和master用來進行通訊的域名.

zookeeper.session.timeout

默認: 180000
ZooKeeper 會話超時.HBase把這個值傳遞改zk集群,向他推薦一個會話的最大超時時間。單位是毫秒。

zookeeper.znode.parent

默認: /hbase
ZooKeeper中的HBase的根ZNode。所有的HBase的ZooKeeper會用這個目錄配置相對路徑。默認情況下,所有的HBase的ZooKeeper文件路徑是用相對路徑,所以他們會都去這個目錄下面。

zookeeper.znode.rootserver

默認: root-region-server
ZNode 保存的根region的路徑. 這個值是由Master來寫,client和regionserver 來讀的。如果設為一個相對地址,父目錄就是 ${zookeeper.znode.parent}.默認情形下,意味著根region的路徑存儲在/hbase/root-region-server.

hbase.zookeeper.quorum

默認: localhost
Zookeeper集群的地址列表,用逗號分割。例如:”host1.mydomain.com,host2.mydomain.com,host3.mydomain.com”.默認是localhost,如果在hbase-env.sh設置了HBASE_MANAGES_ZK,這些ZooKeeper節點就會和HBase一起啟動。

hbase.zookeeper.peerport

默認: 2888
ZooKeeper節點使用的端口。

hbase.zookeeper.leaderport

默認: 3888
ZooKeeper用來選擇Leader的端口。

hbase.zookeeper.property.initLimit

默認: 10
ZooKeeper的zoo.conf中的配置。 初始化synchronization階段的ticks數量限制

hbase.zookeeper.property.syncLimit

默認: 5
ZooKeeper的zoo.conf中的配置。 發送一個請求到獲得承認之間的ticks的數量限制

hbase.zookeeper.property.dataDir

默認: ${hbase.tmp.dir}/zookeeper
ZooKeeper的zoo.conf中的配置。 快照的存儲位置

hbase.zookeeper.property.clientPort

默認: 2181
ZooKeeper的zoo.conf中的配置。 客戶端連接的端口

hbase.zookeeper.property.maxClientCnxns

默認: 2000
ZooKeeper的zoo.conf中的配置。 ZooKeeper集群中的單個節點接受的單個Client(以IP區分)的請求的并發數。這個值可以調高一點,防止在單機和偽分布式模式中出問題。

模式和存儲相關
hbase.table.max.rowsize

默認: true
設置為true時,當模式在反生變更操作時則鎖定zookeeper中的表,以避免并行操作時破壞表的一致性。

hbase.table.max.rowsize

默認:1073741824
當不指定Get和Scan操作中的scan選項時,獲取的最大行的字節大小。超過則拋出RowTooBigException異常。

hbase.hregion.memstore.flush.size

默認: 67108864
當memstore的大小超過這個值,會flush到磁盤。這個值被一個線程每隔hbase.server.thread.wakefrequency檢查一下。

hbase.server.thread.wakefrequency

默認: 10000
Service線程(log roller等)的sleep時間間隔,單位毫秒。

hbase.hregion.preclose.flush.size

默認: 5242880
當一個region中的memstore的大小大于這個值的時候,我們又觸發了close.會先運行“pre-flush”操作,清理這個需要關閉的memstore,然后將這個region下線。當一個region下線了,我們無法再進行任何寫操作。如果一個memstore很大的時候,flush操作會消耗很多時間。”pre-flush”操作意味著在region下線之前,會先把memstore清空。這樣在最終執行close操作的時候,flush操作會很快。

hbase.hregion.memstore.block.multiplier

默認: 2
如果memstore有hbase.hregion.memstore.block.multiplier倍數的hbase.hregion.flush.size的大小,就會阻塞update操作。這是為了預防在update高峰期會導致的失控。如果不設上界,flush的時候會花很長的時間來合并或者分割,最壞的情況就是引發out of memory異常。

hbase.hregion.memstore.mslab.enabled

默認: false
體驗特性:啟用memStore分配本地緩沖區。這個特性是為了防止在大量寫負載的時候堆的碎片過多。這可以減少GC操作的頻率。

hbase.hregion.max.filesize

默認: 268435456
最大HStoreFile大小。若某個Column families的HStoreFile增長達到這個值,這個Hegion會被切割成兩個。 Default: 256M.

hbase.hstore.compactionThreshold

默認: 3
當一個HStore含有多于這個值的HStoreFiles的時候,會執行一個合并操作,把這HStoreFiles寫成一個。這個值越大,需要合并的時間就越長。

hbase.hstore.blockingStoreFiles

默認: 7
當一個HStore含有多于這個值的HStoreFiles的時候,會執行一個合并操作,update會阻塞直到合并完成,直到超過了hbase.hstore.blockingWaitTime的值

hbase.hstore.blockingWaitTime

默認: 90000
hbase.hstore.blockingStoreFiles所限制的StoreFile數量會導致update阻塞,這個時間是來限制阻塞時間的。當超過了這個時間,HRegion會停止阻塞update操作,不過合并還有沒有完成。默認為90s.

hbase.hstore.compaction.max

默認: 10
每個“小”合并的HStoreFiles最大數量。

hbase.hregion.majorcompaction

默認: 86400000
一個Region中的所有HStoreFile的major compactions的時間間隔。默認是1天。 設置為0就是禁用這個功能。

hbase.mapreduce.hfileoutputformat.blocksize

默認: 65536
MapReduce中HFileOutputFormat可以寫 storefiles/hfiles. 這個值是hfile的blocksize的最小值。通常在HBase寫Hfile的時候,bloocksize是由table schema(HColumnDescriptor)決定的,但是在mapreduce寫的時候,我們無法獲取schema中blocksize。這個值越小,你的索引就越大,你隨機訪問需要獲取的數據就越小。如果你的cell都很小,而且你需要更快的隨機訪問,可以把這個值調低。

hfile.block.cache.size

默認: 0.2
分配給HFile/StoreFile的block cache占最大堆(-Xmx setting)的比例。默認是20%,設置為0就是不分配。

hbase.hash.type

默認: murmur
哈希函數使用的哈希算法。可以使用MurmurHash和 jenkins (JenkinsHash). 提供給 bloom filters使用.

** 安全相關**
hbase.security.authentication

HBase的權限管控方式。可選輸入為simple和kerberos。
默認值:simple

hbase.security.authentication

是否啟用HBase安全驗證。
默認:false

hbase.superuser

HBase的超級管理員用戶。
默認值:hbase

hbase.master.keytab.file

默認:
開啟基于kerberos的Security。HMaster Server驗證登錄使用的keytab 文件路徑。

hbase.master.kerberos.principal

默認:
開啟基于kerberos的Security。HMaster使用principal name。

hbase.regionserver.keytab.file

默認:
開啟基于kerberos的Security。HRegionServer驗證登錄使用的keytab 文件路徑。

hbase.regionserver.kerberos.principal

默認:
開啟基于kerberos的Security。RegionServer使用的principal name。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,702評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,143評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,553評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,620評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,416評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,940評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,024評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,170評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,709評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,597評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,291評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,029評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,407評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,663評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,403評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,746評論 2 370

推薦閱讀更多精彩內容