您好,登錄后才能下訂單哦!
小編給大家分享一下HBase默認配置是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
hbase.rootdir
這個目錄是region server的共享目錄,用來持久化HBase。URL需要是'完全正確'的,還要包含文件系統的scheme。例如,要表示hdfs中的'/hbase'目錄,namenode 運行在namenode.example.org的9090端口。則需要設置為hdfs://namenode.example.org:9000/hbase。默認情況下HBase是寫到/tmp的。不改這個配置,數據會在重啟的時候丟失。
默認: file:///tmp/hbase-${user.name}/hbase
hbase.master.port
HBase的Master的端口.
默認: 60000
hbase.cluster.distributed
HBase的運行模式。false是單機模式,true是分布式模式。若為false,HBase和Zookeeper會運行在同一個JVM里面。
默認: false
hbase.tmp.dir
本地文件系統的臨時文件夾。可以修改到一個更為持久的目錄上。(/tmp會在重啟時清楚)
默認:${java.io.tmpdir}/hbase-${user.name}
hbase.local.dir
作為本地存儲,位于本地文件系統的路徑。
默認: ${hbase.tmp.dir}/local/
hbase.master.info.port
HBase Master web 界面端口. 設置為-1 意味著你不想讓他運行。
默認: 60010
hbase.master.info.bindAddress
HBase Master web 界面綁定的端口
默認: 0.0.0.0
hbase.client.write.buffer
HTable客戶端的寫緩沖的默認大小。這個值越大,需要消耗的內存越大。因為緩沖在客戶端和服務端都有實例,所以需要消耗客戶端和服務端兩個地方的內存。得到的好處是,可以減少RPC的次數。可以這樣估算服務器端被占用的內存: hbase.client.write.buffer * hbase.regionserver.handler.count
默認: 2097152
hbase.regionserver.port
HBase RegionServer綁定的端口
默認: 60020
hbase.regionserver.info.port
HBase RegionServer web 界面綁定的端口 設置為 -1 意味這你不想與運行 RegionServer 界面.
默認: 60030
hbase.regionserver.info.port.auto
Master或RegionServer是否要動態搜一個可以用的端口來綁定界面。當hbase.regionserver.info.port已經被占用的時候,可以搜一個空閑的端口綁定。這個功能在測試的時候很有用。默認關閉。
默認: false
hbase.regionserver.info.bindAddress
HBase RegionServer web 界面的IP地址
默認: 0.0.0.0
hbase.regionserver.class
RegionServer 使用的接口。客戶端打開代理來連接region server的時候會使用到。
默認: org.apache.hadoop.hbase.ipc.HRegionInterface
hbase.client.pause
通常的客戶端暫停時間。最多的用法是客戶端在重試前的等待時間。比如失敗的get操作和region查詢操作等都很可能用到。
默認: 1000
hbase.client.retries.number
最大重試次數。所有需重試操作的最大值。例如從root region服務器獲取root region,Get單元值,行Update操作等等。這是最大重試錯誤的值。 Default: 10.
默認: 10
hbase.bulkload.retries.number
最大重試次數。 原子批加載嘗試的迭代最大次數。 0 永不放棄。默認: 0.
默認: 0
hbase.client.scanner.caching
當調用Scanner的next方法,而值又不在緩存里的時候,從服務端一次獲取的行數。越大的值意味著Scanner會快一些,但是會占用更多的內存。當緩沖被占滿的時候,next方法調用會越來越慢。慢到一定程度,可能會導致超時。例如超過了hbase.regionserver.lease.period。
默認: 100
hbase.client.keyvalue.maxsize
一個KeyValue實例的最大size.這個是用來設置存儲文件中的單個entry的大小上界。因為一個KeyValue是不能分割的,所以可以避免因為數據過大導致region不可分割。明智的做法是把它設為可以被最大region size整除的數。如果設置為0或者更小,就會禁用這個檢查。默認10MB。
默認: 10485760
hbase.regionserver.lease.period
客戶端租用HRegion server 期限,即超時閥值。單位是毫秒。默認情況下,客戶端必須在這個時間內發一條信息,否則視為死掉。
默認: 60000
hbase.regionserver.handler.count
RegionServers受理的RPC Server實例數量。對于Master來說,這個屬性是Master受理的handler數量
默認: 10
hbase.regionserver.msginterval
RegionServer 發消息給 Master 時間間隔,單位是毫秒
默認: 3000
hbase.regionserver.optionallogflushinterval
將Hlog同步到HDFS的間隔。如果Hlog沒有積累到一定的數量,到了時間,也會觸發同步。默認是1秒,單位毫秒。
默認: 1000
hbase.regionserver.regionSplitLimit
region的數量到了這個值后就不會在分裂了。這不是一個region數量的硬性限制。但是起到了一定指導性的作用,到了這個值就該停止分裂了。默認是MAX_INT.就是說不阻止分裂。
默認: 2147483647
hbase.regionserver.logroll.period
提交commit log的間隔,不管有沒有寫足夠的值。
默認: 3600000
hbase.regionserver.hlog.reader.impl
HLog file reader 的實現.
默認: org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogReader
hbase.regionserver.hlog.writer.impl
HLog file writer 的實現.
默認: org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogWriter
hbase.regionserver.nbreservationblocks
儲備的內存block的數量(譯者注:就像石油儲備一樣)。當發生out of memory 異常的時候,我們可以用這些內存在RegionServer停止之前做清理操作。
默認: 4
hbase.zookeeper.dns.interface
當使用DNS的時候,Zookeeper用來上報的IP地址的網絡接口名字。
默認: default
hbase.zookeeper.dns.nameserver
當使用DNS的時候,Zookeepr使用的DNS的域名或者IP 地址,Zookeeper用它來確定和master用來進行通訊的域名.
默認: default
hbase.regionserver.dns.interface
當使用DNS的時候,RegionServer用來上報的IP地址的網絡接口名字。
默認: default
hbase.regionserver.dns.nameserver
當使用DNS的時候,RegionServer使用的DNS的域名或者IP 地址,RegionServer用它來確定和master用來進行通訊的域名.
默認: default
hbase.master.dns.interface
當使用DNS的時候,Master用來上報的IP地址的網絡接口名字。
默認: default
hbase.master.dns.nameserver
當使用DNS的時候,RegionServer使用的DNS的域名或者IP 地址,Master用它來確定用來進行通訊的域名.
默認: default
hbase.balancer.period
Master執行region balancer的間隔。
默認: 300000
hbase.regions.slop
當任一區域服務器有average + (average * slop)個分區,將會執行重新均衡。默認 20% slop .
默認:0.2
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.regionserver.global.memstore.upperLimit
單個region server的全部memtores的最大值。超過這個值,一個新的update操作會被掛起,強制執行flush操作。
默認: 0.4
hbase.regionserver.global.memstore.lowerLimit
當強制執行flush操作的時候,當低于這個值的時候,flush會停止。默認是堆大小的 35% . 如果這個值和 hbase.regionserver.global.memstore.upperLimit 相同就意味著當update操作因為內存限制被掛起時,會盡量少的執行flush(譯者注:一旦執行flush,值就會比下限要低,不再執行)
默認: 0.35
hbase.server.thread.wakefrequency
service工作的sleep間隔,單位毫秒。 可以作為service線程的sleep間隔,比如log roller.
默認: 10000
hbase.server.versionfile.writeattempts
退出前嘗試寫版本文件的次數。每次嘗試由 hbase.server.thread.wakefrequency 毫秒數間隔。
默認: 3
hbase.hregion.memstore.flush.size
當memstore的大小超過這個值的時候,會flush到磁盤。這個值被一個線程每隔hbase.server.thread.wakefrequency檢查一下。
默認:134217728
hbase.hregion.preclose.flush.size
當一個region中的memstore的大小大于這個值的時候,我們又觸發了close.會先運行“pre-flush”操作,清理這個需要關閉的memstore,然后將這個region下線。當一個region下線了,我們無法再進行任何寫操作。如果一個memstore很大的時候,flush操作會消耗很多時間。"pre-flush"操作意味著在region下線之前,會先把memstore清空。這樣在最終執行close操作的時候,flush操作會很快。
默認: 5242880
hbase.hregion.memstore.block.multiplier
如果memstore有hbase.hregion.memstore.block.multiplier倍數的hbase.hregion.flush.size的大小,就會阻塞update操作。這是為了預防在update高峰期會導致的失控。如果不設上界,flush的時候會花很長的時間來合并或者分割,最壞的情況就是引發out of memory異常。(譯者注:內存操作的速度和磁盤不匹配,需要等一等。原文似乎有誤)
默認: 2
hbase.hregion.memstore.mslab.enabled
體驗特性:啟用memStore分配本地緩沖區。這個特性是為了防止在大量寫負載的時候堆的碎片過多。這可以減少GC操作的頻率。(GC有可能會Stop the world)(譯者注:實現的原理相當于預分配內存,而不是每一個值都要從堆里分配)
默認: true
hbase.hregion.max.filesize
最大HStoreFile大小。若某個列族的HStoreFile增長達到這個值,這個Hegion會被切割成兩個。 默認: 10G.
默認:10737418240
hbase.hstore.compactionThreshold
當一個HStore含有多于這個值的HStoreFiles(每一個memstore flush產生一個HStoreFile)的時候,會執行一個合并操作,把這HStoreFiles寫成一個。這個值越大,需要合并的時間就越長。
默認: 3
hbase.hstore.blockingStoreFiles
當一個HStore含有多于這個值的HStoreFiles(每一個memstore flush產生一個HStoreFile)的時候,會執行一個合并操作,update會阻塞直到合并完成,直到超過了hbase.hstore.blockingWaitTime的值
默認: 7
hbase.hstore.blockingWaitTime
hbase.hstore.blockingStoreFiles所限制的StoreFile數量會導致update阻塞,這個時間是來限制阻塞時間的。當超過了這個時間,HRegion會停止阻塞update操作,不過合并還有沒有完成。默認為90s.
默認: 90000
hbase.hstore.compaction.max
每個“小”合并的HStoreFiles最大數量。
默認: 10
hbase.hregion.majorcompaction
一個Region中的所有HStoreFile的major compactions的時間間隔。默認是1天。 設置為0就是禁用這個功能。
默認: 86400000
hbase.storescanner.parallel.seek.enable
允許 StoreFileScanner 并行搜索 StoreScanner, 一個在特定條件下降低延遲的特性。
默認: false
hbase.storescanner.parallel.seek.threads
并行搜索特性打開后,默認線程池大小。
默認: 10
hbase.mapreduce.hfileoutputformat.blocksize
MapReduce中HFileOutputFormat可以寫 storefiles/hfiles. 這個值是hfile的blocksize的最小值。通常在HBase寫Hfile的時候,bloocksize是由table schema(HColumnDescriptor)決定的,但是在mapreduce寫的時候,我們無法獲取schema中blocksize。這個值越小,你的索引就越大,你隨機訪問需要獲取的數據就越小。如果你的cell都很小,而且你需要更快的隨機訪問,可以把這個值調低。
默認: 65536
hfile.block.cache.size
分配給HFile/StoreFile的block cache占最大堆(-Xmx setting)的比例。默認0.25意思是分配25%,設置為0就是禁用,但不推薦。
默認:0.25
hbase.hash.type
哈希函數使用的哈希算法。可以選擇兩個值:: murmur (MurmurHash) 和 jenkins (JenkinsHash). 這個哈希是給 bloom filters用的.
默認: murmur
以上是“HBase默認配置是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。