該文檔是用Hbase默認(rèn)配置文件生成的,文件源是Hbase-default.xml
hbase.rootdir
這個(gè)目錄是region server的共享目錄,用來(lái)持久化HBase。URL需要是'完全正確'的,還要包含文件系統(tǒng)的scheme。例如,要表示hdfs中的'/hbase'目錄,namenode 運(yùn)行在namenode.example.org的9090端口。則需要設(shè)置為hdfs://namenode.example.org:9000/hbase。默認(rèn)情況下HBase是寫(xiě)到/tmp的。不改這個(gè)配置,數(shù)據(jù)會(huì)在重啟的時(shí)候丟失。
默認(rèn):file:///tmp/hbase-${user.name}/hbase
hbase.master.port
HBase的Master的端口.
默認(rèn):60000
hbase.cluster.distributed
HBase的運(yùn)行模式。false是單機(jī)模式,true是分布式模式。若為false,HBase和Zookeeper會(huì)運(yùn)行在同一個(gè)JVM里面。
默認(rèn):false
hbase.tmp.dir
本地文件系統(tǒng)的臨時(shí)文件夾。可以修改到一個(gè)更為持久的目錄上。(/tmp會(huì)在重啟時(shí)清楚)
默認(rèn):${Java.io.tmpdir}/hbase-${user.name}
hbase.local.dir
作為本地存儲(chǔ),位于本地文件系統(tǒng)的路徑。
默認(rèn):?${hbase.tmp.dir}/local/
hbase.master.info.port
HBase Master web 界面端口. 設(shè)置為-1 意味著你不想讓他運(yùn)行。
0.98 版本以后默認(rèn):16010 ? 以前是 60010
hbase.master.info.bindAddress
HBase Master web 界面綁定的端口
默認(rèn):0.0.0.0
hbase.client.write.buffer
HTable客戶端的寫(xiě)緩沖的默認(rèn)大小。這個(gè)值越大,需要消耗的內(nèi)存越大。因?yàn)榫彌_在客戶端和服務(wù)端都有實(shí)例,所以需要消耗客戶端和服務(wù)端兩個(gè)地方的內(nèi)存。得到的好處是,可以減少RPC的次數(shù)。可以這樣估算服務(wù)器端被占用的內(nèi)存: hbase.client.write.buffer * hbase.regionserver.handler.count
默認(rèn):2097152
hbase.regionserver.port
HBase RegionServer綁定的端口
0.98 以前默認(rèn):60020以后默認(rèn)是:16020
hbase.regionserver.info.port
HBase RegionServer web 界面綁定的端口 設(shè)置為 -1 意味這你不想與運(yùn)行 RegionServer 界面.
0.98 以前默認(rèn):60030以后默認(rèn)是:16030
hbase.regionserver.info.port.auto
Master或RegionServer是否要?jiǎng)討B(tài)搜一個(gè)可以用的端口來(lái)綁定界面。當(dāng)hbase.regionserver.info.port已經(jīng)被占用的時(shí)候,可以搜一個(gè)空閑的端口綁定。這個(gè)功能在測(cè)試的時(shí)候很有用。默認(rèn)關(guān)閉。
默認(rèn):false
hbase.regionserver.info.bindAddress
HBase RegionServer web 界面的IP地址
默認(rèn):0.0.0.0
hbase.regionserver.class
RegionServer 使用的接口。客戶端打開(kāi)代理來(lái)連接region server的時(shí)候會(huì)使用到。
默認(rèn):org.apache.Hadoop.hbase.ipc.HRegionInterface
hbase.client.pause
通常的客戶端暫停時(shí)間。最多的用法是客戶端在重試前的等待時(shí)間。比如失敗的get操作和region查詢操作等都很可能用到。
默認(rèn):1000
hbase.client.retries.number
最大重試次數(shù)。所有需重試操作的最大值。例如從root region服務(wù)器獲取root region,Get單元值,行Update操作等等。這是最大重試錯(cuò)誤的值。 ?Default: 10.
0.98 以前默認(rèn):10以后默認(rèn)是:35
hbase.bulkload.retries.number
最大重試次數(shù)。 原子批加載嘗試的迭代最大次數(shù)。 0 永不放棄。默認(rèn): 0.
默認(rèn):?0
hbase.client.scanner.caching
當(dāng)調(diào)用Scanner的next方法,而值又不在緩存里的時(shí)候,從服務(wù)端一次獲取的行數(shù)。越大的值意味著Scanner會(huì)快一些,但是會(huì)占用更多的內(nèi)存。當(dāng)緩沖被占滿的時(shí)候,next方法調(diào)用會(huì)越來(lái)越慢。慢到一定程度,可能會(huì)導(dǎo)致超時(shí)。例如超過(guò)了hbase.regionserver.lease.period。
默認(rèn): 100
hbase.client.keyvalue.maxsize
一個(gè)KeyValue實(shí)例的最大size.這個(gè)是用來(lái)設(shè)置存儲(chǔ)文件中的單個(gè)entry的大小上界。因?yàn)橐粋€(gè)KeyValue是不能分割的,所以可以避免因?yàn)閿?shù)據(jù)過(guò)大導(dǎo)致region不可分割。明智的做法是把它設(shè)為可以被最大region size整除的數(shù)。如果設(shè)置為0或者更小,就會(huì)禁用這個(gè)檢查。默認(rèn)10MB。
默認(rèn):10485760
hbase.regionserver.lease.period
客戶端租用HRegion server 期限,即超時(shí)閥值。單位是毫秒。默認(rèn)情況下,客戶端必須在這個(gè)時(shí)間內(nèi)發(fā)一條信息,否則視為死掉。
默認(rèn):60000
hbase.regionserver.handler.count
RegionServers受理的RPC Server實(shí)例數(shù)量。對(duì)于Master來(lái)說(shuō),這個(gè)屬性是Master受理的handler數(shù)量
默認(rèn):10
hbase.regionserver.msginterval
RegionServer 發(fā)消息給 Master 時(shí)間間隔,單位是毫秒
默認(rèn):3000
hbase.regionserver.optionallogflushinterval
將Hlog同步到HDFS的間隔。如果Hlog沒(méi)有積累到一定的數(shù)量,到了時(shí)間,也會(huì)觸發(fā)同步。默認(rèn)是1秒,單位毫秒。
默認(rèn):1000
hbase.regionserver.regionSplitLimit
region的數(shù)量到了這個(gè)值后就不會(huì)在分裂了。這不是一個(gè)region數(shù)量的硬性限制。但是起到了一定指導(dǎo)性的作用,到了這個(gè)值就該停止分裂了。默認(rèn)是MAX_INT.就是說(shuō)不阻止分裂。
默認(rèn):2147483647
hbase.regionserver.logroll.period
提交commit log的間隔,不管有沒(méi)有寫(xiě)足夠的值。
默認(rèn):3600000
hbase.regionserver.hlog.reader.impl
HLog file reader 的實(shí)現(xiàn).
默認(rèn):org.apache.Hadoop.hbase.regionserver.wal.SequenceFileLogReader
hbase.regionserver.hlog.writer.impl
HLog file writer 的實(shí)現(xiàn).
默認(rèn):org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogWriter
hbase.regionserver.nbreservationblocks
儲(chǔ)備的內(nèi)存block的數(shù)量(譯者注:就像石油儲(chǔ)備一樣)。當(dāng)發(fā)生out of memory 異常的時(shí)候,我們可以用這些內(nèi)存在RegionServer停止之前做清理操作。
默認(rèn):4
hbase.zookeeper.dns.interface
當(dāng)使用DNS的時(shí)候,Zookeeper用來(lái)上報(bào)的IP地址的網(wǎng)絡(luò)接口名字。
默認(rèn):default
hbase.zookeeper.dns.nameserver
當(dāng)使用DNS的時(shí)候,Zookeepr使用的DNS的域名或者IP 地址,Zookeeper用它來(lái)確定和master用來(lái)進(jìn)行通訊的域名.
默認(rèn):default
hbase.regionserver.dns.interface
當(dāng)使用DNS的時(shí)候,RegionServer用來(lái)上報(bào)的IP地址的網(wǎng)絡(luò)接口名字。
默認(rèn):default
hbase.regionserver.dns.nameserver
當(dāng)使用DNS的時(shí)候,RegionServer使用的DNS的域名或者IP 地址,RegionServer用它來(lái)確定和master用來(lái)進(jìn)行通訊的域名.
默認(rèn):default
hbase.master.dns.interface
當(dāng)使用DNS的時(shí)候,Master用來(lái)上報(bào)的IP地址的網(wǎng)絡(luò)接口名字。
默認(rèn):default
hbase.master.dns.nameserver
當(dāng)使用DNS的時(shí)候,RegionServer使用的DNS的域名或者IP 地址,Master用它來(lái)確定用來(lái)進(jìn)行通訊的域名.
默認(rèn):default
hbase.balancer.period
Master執(zhí)行region balancer的間隔。
默認(rèn):300000
hbase.regions.slop
當(dāng)任一區(qū)域服務(wù)器有average + (average * slop)個(gè)分區(qū),將會(huì)執(zhí)行重新均衡。默認(rèn) 20% slop .
默認(rèn):0.2
hbase.master.logcleaner.ttl
Hlog存在于.oldlogdir 文件夾的最長(zhǎng)時(shí)間, 超過(guò)了就會(huì)被 Master 的線程清理掉.
默認(rèn):600000
hbase.master.logcleaner.plugins
LogsCleaner服務(wù)會(huì)執(zhí)行的一組LogCleanerDelegat。值用逗號(hào)間隔的文本表示。這些WAL/HLog cleaners會(huì)按順序調(diào)用。可以把先調(diào)用的放在前面。你可以實(shí)現(xiàn)自己的LogCleanerDelegat,加到Classpath下,然后在這里寫(xiě)下類(lèi)的全稱(chēng)。一般都是加在默認(rèn)值的前面。
默認(rèn):org.apache.hadoop.hbase.master.TimeToLiveLogCleaner
hbase.regionserver.global.memstore.upperLimit
單個(gè)region server的全部memtores的最大值。超過(guò)這個(gè)值,一個(gè)新的update操作會(huì)被掛起,強(qiáng)制執(zhí)行flush操作。
默認(rèn):0.4
hbase.regionserver.global.memstore.lowerLimit
當(dāng)強(qiáng)制執(zhí)行flush操作的時(shí)候,當(dāng)?shù)陀谶@個(gè)值的時(shí)候,flush會(huì)停止。默認(rèn)是堆大小的 35% . 如果這個(gè)值和 hbase.regionserver.global.memstore.upperLimit 相同就意味著當(dāng)update操作因?yàn)閮?nèi)存限制被掛起時(shí),會(huì)盡量少的執(zhí)行flush(譯者注:一旦執(zhí)行flush,值就會(huì)比下限要低,不再執(zhí)行)
默認(rèn):0.35
hbase.server.thread.wakefrequency
service工作的sleep間隔,單位毫秒。 可以作為service線程的sleep間隔,比如log roller.
默認(rèn):10000
hbase.server.versionfile.writeattempts
退出前嘗試寫(xiě)版本文件的次數(shù)。每次嘗試由 hbase.server.thread.wakefrequency 毫秒數(shù)間隔。
默認(rèn):?3
hbase.hregion.memstore.flush.size
當(dāng)memstore的大小超過(guò)這個(gè)值的時(shí)候,會(huì)flush到磁盤(pán)。這個(gè)值被一個(gè)線程每隔hbase.server.thread.wakefrequency檢查一下。
默認(rèn):134217728
hbase.hregion.preclose.flush.size
當(dāng)一個(gè)region中的memstore的大小大于這個(gè)值的時(shí)候,我們又觸發(fā)了close.會(huì)先運(yùn)行“pre-flush”操作,清理這個(gè)需要關(guān)閉的memstore,然后將這個(gè)region下線。當(dāng)一個(gè)region下線了,我們無(wú)法再進(jìn)行任何寫(xiě)操作。如果一個(gè)memstore很大的時(shí)候,flush操作會(huì)消耗很多時(shí)間。"pre-flush"操作意味著在region下線之前,會(huì)先把memstore清空。這樣在最終執(zhí)行close操作的時(shí)候,flush操作會(huì)很快。
默認(rèn):5242880
hbase.hregion.memstore.block.multiplier
如果memstore有hbase.hregion.memstore.block.multiplier倍數(shù)的hbase.hregion.flush.size的大小,就會(huì)阻塞update操作。這是為了預(yù)防在update高峰期會(huì)導(dǎo)致的失控。如果不設(shè)上界,flush的時(shí)候會(huì)花很長(zhǎng)的時(shí)間來(lái)合并或者分割,最壞的情況就是引發(fā)out of memory異常。(譯者注:內(nèi)存操作的速度和磁盤(pán)不匹配,需要等一等。原文似乎有誤)
默認(rèn):2
hbase.hregion.memstore.mslab.enabled
體驗(yàn)特性:?jiǎn)⒂胢emStore分配本地緩沖區(qū)。這個(gè)特性是為了防止在大量寫(xiě)負(fù)載的時(shí)候堆的碎片過(guò)多。這可以減少GC操作的頻率。(GC有可能會(huì)Stop the world)(譯者注:實(shí)現(xiàn)的原理相當(dāng)于預(yù)分配內(nèi)存,而不是每一個(gè)值都要從堆里分配)
默認(rèn):true
hbase.hregion.max.filesize
最大HStoreFile大小。若某個(gè)列族的HStoreFile增長(zhǎng)達(dá)到這個(gè)值,這個(gè)Hegion會(huì)被切割成兩個(gè)。 默認(rèn): 10G.
默認(rèn):10737418240
hbase.hstore.compactionThreshold
當(dāng)一個(gè)HStore含有多于這個(gè)值的HStoreFiles(每一個(gè)memstore flush產(chǎn)生一個(gè)HStoreFile)的時(shí)候,會(huì)執(zhí)行一個(gè)合并操作,把這HStoreFiles寫(xiě)成一個(gè)。這個(gè)值越大,需要合并的時(shí)間就越長(zhǎng)。
默認(rèn):3
hbase.hstore.blockingStoreFiles
當(dāng)一個(gè)HStore含有多于這個(gè)值的HStoreFiles(每一個(gè)memstore flush產(chǎn)生一個(gè)HStoreFile)的時(shí)候,會(huì)執(zhí)行一個(gè)合并操作,update會(huì)阻塞直到合并完成,直到超過(guò)了hbase.hstore.blockingWaitTime的值
默認(rèn):7
hbase.hstore.blockingWaitTime
hbase.hstore.blockingStoreFiles所限制的StoreFile數(shù)量會(huì)導(dǎo)致update阻塞,這個(gè)時(shí)間是來(lái)限制阻塞時(shí)間的。當(dāng)超過(guò)了這個(gè)時(shí)間,HRegion會(huì)停止阻塞update操作,不過(guò)合并還有沒(méi)有完成。默認(rèn)為90s.
默認(rèn):90000
hbase.hstore.compaction.max
每個(gè)“小”合并的HStoreFiles最大數(shù)量。
默認(rèn):10
hbase.hregion.majorcompaction
一個(gè)Region中的所有HStoreFile的major compactions的時(shí)間間隔。默認(rèn)是1天。 設(shè)置為0就是禁用這個(gè)功能。
默認(rèn):86400000
hbase.storescanner.parallel.seek.enable
允許 StoreFileScanner 并行搜索 StoreScanner, 一個(gè)在特定條件下降低延遲的特性。
默認(rèn):?false
hbase.storescanner.parallel.seek.threads
并行搜索特性打開(kāi)后,默認(rèn)線程池大小。
默認(rèn):?10
hbase.mapreduce.hfileoutputformat.blocksize
MapReduce中HFileOutputFormat可以寫(xiě) storefiles/hfiles. 這個(gè)值是hfile的blocksize的最小值。通常在HBase寫(xiě)Hfile的時(shí)候,bloocksize是由table schema(HColumnDescriptor)決定的,但是在mapreduce寫(xiě)的時(shí)候,我們無(wú)法獲取schema中blocksize。這個(gè)值越小,你的索引就越大,你隨機(jī)訪問(wèn)需要獲取的數(shù)據(jù)就越小。如果你的cell都很小,而且你需要更快的隨機(jī)訪問(wèn),可以把這個(gè)值調(diào)低。
默認(rèn):65536
hfile.block.cache.size
分配給HFile/StoreFile的block cache占最大堆(-Xmx setting)的比例。默認(rèn)0.25意思是分配25%,設(shè)置為0就是禁用,但不推薦。
默認(rèn):0.25
hbase.hash.type
哈希函數(shù)使用的哈希算法。可以選擇兩個(gè)值:: murmur (MurmurHash) 和 jenkins (JenkinsHash). 這個(gè)哈希是給 bloom filters用的.
默認(rèn):murmur
hfile.block.index.cacheonwrite
在index寫(xiě)入的時(shí)候允許put無(wú)根(non-root)的多級(jí)索引塊到block cache里,默認(rèn)是false;
hfile.index.block.max.size:在多級(jí)索引的樹(shù)形結(jié)構(gòu)里,如果任何一層的block index達(dá)到這個(gè)配置大小,則block寫(xiě)出,同時(shí)
替換上新的block,默認(rèn)是131072;
hfile.format.version
新文件的HFile 格式版本,設(shè)置為1來(lái)測(cè)試向后兼容,默認(rèn)是2;
io.storefile.bloom.block.size
一個(gè)聯(lián)合布隆過(guò)濾器的單一塊(chunk)的大小,這個(gè)值是一個(gè)逼近值,默認(rèn)是131072;
hfile.block.bloom.cacheonwrite
對(duì)于組合布隆過(guò)濾器的內(nèi)聯(lián)block開(kāi)啟cache-on-write,默認(rèn)是false
hbase.rs.cacheblocksonwrite
當(dāng)一個(gè)HFile block完成時(shí)是否寫(xiě)入block cache,默認(rèn)是false
hbase.rpc.server.engine
hbase 做rpc server的調(diào)度管理類(lèi),實(shí)現(xiàn)自org.apache.hadoop.ipc.RpcServerEngine,默認(rèn)是org.apache.hadoop.hbase.ipc.ProtobufRpcServerEngine
hbase.ipc.client.tcpnodelay
默認(rèn)是true,具體就是在tcp socket連接時(shí)設(shè)置 no delay
hbase.master.keytab.file
HMaster server驗(yàn)證登錄使用的kerberos keytab 文件路徑。(譯者注:HBase使用Kerberos實(shí)現(xiàn)安全)
默認(rèn):
hbase.master.kerberos.principal
例如. "hbase/_HOST@EXAMPLE.COM". HMaster運(yùn)行需要使用 kerberos principal name. principal name 可以在: user/hostname@DOMAIN 中獲取. 如果 "_HOST" 被用做hostname portion,需要使用實(shí)際運(yùn)行的hostname來(lái)替代它。
默認(rèn):
hbase.regionserver.keytab.file
HRegionServer驗(yàn)證登錄使用的kerberos keytab 文件路徑。
默認(rèn):
hbase.regionserver.kerberos.principal
例如. "hbase/_HOST@EXAMPLE.COM". HRegionServer運(yùn)行需要使用 kerberos principal name. principal name 可以在: user/hostname@DOMAIN 中獲取. 如果 "_HOST" 被用做hostname portion,需要使用實(shí)際運(yùn)行的hostname來(lái)替代它。在這個(gè)文件中必須要有一個(gè)entry來(lái)描述 hbase.regionserver.keytab.file
默認(rèn):
hadoop.policy.file
RPC服務(wù)器做權(quán)限認(rèn)證時(shí)需要的安全策略配置文件,在Hbase security開(kāi)啟后使用,默認(rèn)是habse-policy.xml;
hbase.superuser
Hbase security 開(kāi)啟后的超級(jí)用戶配置,一系列由逗號(hào)隔開(kāi)的user或者group;
hbase.auth.key.update.interval
Hbase security開(kāi)啟后服務(wù)端更新認(rèn)證key的間隔時(shí)間:默認(rèn)是86400000毫秒;
hbase.auth.token.max.lifetime
Hbase security開(kāi)啟后,認(rèn)證token下發(fā)后的生存周期,默認(rèn)是604800000毫秒
zookeeper.session.timeout
ZooKeeper 會(huì)話超時(shí).HBase把這個(gè)值傳遞改zk集群,向他推薦一個(gè)會(huì)話的最大超時(shí)時(shí)間。詳見(jiàn)http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions "The client sends a requested timeout, the server responds with the timeout that it can give the client. "。 單位是毫秒
默認(rèn):180000
zookeeper.znode.parent
ZooKeeper中的HBase的根ZNode。所有的HBase的ZooKeeper會(huì)用這個(gè)目錄配置相對(duì)路徑。默認(rèn)情況下,所有的HBase的ZooKeeper文件路徑是用相對(duì)路徑,所以他們會(huì)都去這個(gè)目錄下面。
默認(rèn):/hbase
zookeeper.znode.rootserver
ZNode 保存的 根region的路徑. 這個(gè)值是由Master來(lái)寫(xiě),client和regionserver 來(lái)讀的。如果設(shè)為一個(gè)相對(duì)地址,父目錄就是 ${zookeeper.znode.parent}.默認(rèn)情形下,意味著根region的路徑存儲(chǔ)在/hbase/root-region-server.
默認(rèn):root-region-server
zookeeper.znode.acl.parent
root znode的acl,默認(rèn)acl;
hbase.coprocessor.region.classes
逗號(hào)分隔的Coprocessores列表,會(huì)被加載到默認(rèn)所有表上。在自己實(shí)現(xiàn)了一個(gè)Coprocessor后,將其添加到Hbase的classpath并加入全限定名。也可以延遲加載,由HTableDescriptor指定;
hbase.coprocessor.master.classes
由HMaster進(jìn)程加載的coprocessors,逗號(hào)分隔,全部實(shí)現(xiàn)org.apache.hadoop.hbase.coprocessor.MasterObserver,同coprocessor類(lèi)似,加入classpath及全限定名;
hbase.zookeeper.quorum
Zookeeper集群的地址列表,用逗號(hào)分割。例如:"host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".默認(rèn)是localhost,是給偽分布式用的。要修改才能在完全分布式的情況下使用。如果在hbase-env.sh設(shè)置了HBASE_MANAGES_ZK,這些ZooKeeper節(jié)點(diǎn)就會(huì)和HBase一起啟動(dòng)。
默認(rèn):localhost
hbase.zookeeper.peerport
ZooKeeper節(jié)點(diǎn)使用的端口。詳細(xì)參見(jiàn):http://hadoop.apache.org/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
默認(rèn):2888
hbase.zookeeper.leaderport
ZooKeeper用來(lái)選擇Leader的端口,詳細(xì)參見(jiàn):http://hadoop.apache.org/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
默認(rèn):3888
hbase.zookeeper.useMulti
Instructs HBase to make use of ZooKeeper's multi-update functionality. This allows certain ZooKeeper operations to complete more quickly and prevents some issues with rare Replication failure scenarios (see the release note of HBASE-2611 for an example). IMPORTANT: only set this to true if all ZooKeeper servers in the cluster are on version 3.4+ and will not be downgraded. ZooKeeper versions before 3.4 do not support multi-update and will not fail gracefully if multi-update is invoked (see ZOOKEEPER-1495).
Default:?false
hbase.zookeeper.property.initLimit
ZooKeeper的zoo.conf中的配置。 初始化synchronization階段的ticks數(shù)量限制
默認(rèn):10
hbase.zookeeper.property.syncLimit
ZooKeeper的zoo.conf中的配置。 發(fā)送一個(gè)請(qǐng)求到獲得承認(rèn)之間的ticks的數(shù)量限制
默認(rèn):5
hbase.zookeeper.property.dataDir
ZooKeeper的zoo.conf中的配置。 快照的存儲(chǔ)位置
默認(rèn):${hbase.tmp.dir}/zookeeper
hbase.zookeeper.property.clientPort
ZooKeeper的zoo.conf中的配置。 客戶端連接的端口
默認(rèn):2181
hbase.zookeeper.property.maxClientCnxns
ZooKeeper的zoo.conf中的配置。 ZooKeeper集群中的單個(gè)節(jié)點(diǎn)接受的單個(gè)Client(以IP區(qū)分)的請(qǐng)求的并發(fā)數(shù)。這個(gè)值可以調(diào)高一點(diǎn),防止在單機(jī)和偽分布式模式中出問(wèn)題。
默認(rèn):300
hbase.rest.port
HBase REST server的端口
默認(rèn):8080
hbase.rest.readonly
定義REST server的運(yùn)行模式。可以設(shè)置成如下的值: false: 所有的HTTP請(qǐng)求都是被允許的 - GET/PUT/POST/DELETE. true:只有GET請(qǐng)求是被允許的
默認(rèn):false
hbase.defaults.for.version.skip
Set to true to skip the 'hbase.defaults.for.version' check. Setting this to true can be useful in contexts other than the other side of a maven generation; i.e. running in an ide. You'll want to set this boolean to true to avoid seeing the RuntimException complaint: "hbase-default.xml file seems to be for and old version of HBase (\${hbase.version}), this version is X.X.X-SNAPSHOT"
Default:?false
是否跳過(guò)hbase.defaults.for.version的檢查,默認(rèn)是false;
hbase.coprocessor.abortonerror
Set to true to cause the hosting server (master or regionserver) to abort if a coprocessor throws a Throwable object that is not IOException or a subclass of IOException. Setting it to true might be useful in development environments where one wants to terminate the server as soon as possible to simplify coprocessor failure analysis.
Default:?false
如果coprocessor加載失敗或者初始化失敗或者拋出Throwable對(duì)象,則主機(jī)退出。設(shè)置為false會(huì)讓系統(tǒng)繼續(xù)運(yùn)行,但是coprocessor的狀態(tài)會(huì)不一致,所以一般debug時(shí)才會(huì)設(shè)置為false,默認(rèn)是true;
hbase.online.schema.update.enable
Set true to enable online schema changes. This is an experimental feature. There are known issues modifying table schemas at the same time a region split is happening so your table needs to be quiescent or else you have to be running with splits disabled.
Default:?false
設(shè)置true來(lái)允許在線schema變更,默認(rèn)是true;
hbase.table.lock.enable
Set to true to enable locking the table in zookeeper for schema change operations. Table locking from master prevents concurrent schema modifications to corrupt table state.
Default:?true
設(shè)置為true來(lái)允許在schema變更時(shí)zk鎖表,鎖表可以組織并發(fā)的schema變更導(dǎo)致的表狀態(tài)不一致,默認(rèn)是true;
dfs.support.append
Does HDFS allow appends to files? This is an hdfs config. set in here so the hdfs client will do append support. You must ensure that this config. is true serverside too when running hbase (You will have to restart your cluster after setting it).
Default:?true
hbase.thrift.minWorkerThreads
The "core size" of the thread pool. New threads are created on every connection until this many threads are created.
Default:?16
線程池的core size,在達(dá)到這里配置的量級(jí)后,新線程才會(huì)再新的連接創(chuàng)立時(shí)創(chuàng)建,默認(rèn)是16;
hbase.thrift.maxWorkerThreads
The maximum size of the thread pool. When the pending request queue overflows, new threads are created until their number reaches this number. After that, the server starts dropping connections.
Default:?1000
顧名思義,最大線程數(shù),達(dá)到這個(gè)數(shù)字后,服務(wù)器開(kāi)始drop連接,默認(rèn)是1000;
hbase.thrift.maxQueuedRequests
The maximum number of pending Thrift connections waiting in the queue. If there are no idle threads in the pool, the server queues requests. Only when the queue overflows, new threads are added, up to hbase.thrift.maxQueuedRequests threads.
Default:?1000
Thrift連接隊(duì)列的最大數(shù),如果線程池滿,會(huì)先在這個(gè)隊(duì)列中緩存請(qǐng)求,緩存上限就是該配置,默認(rèn)是1000;
hbase.offheapcache.percentage
The amount of off heap space to be allocated towards the experimental off heap cache. If you desire the cache to be disabled, simply set this value to 0.
Default:?0
JVM參數(shù)-XX:MaxDirectMemorySize的百分比值,默認(rèn)是0,即不開(kāi)啟堆外分配;
hbase.data.umask.enable
Enable, if true, that file permissions should be assigned to the files written by the regionserver
Default:?false
開(kāi)啟后,文件在regionserver寫(xiě)入時(shí)會(huì) 有權(quán)限相關(guān)設(shè)定,默認(rèn)是false不開(kāi)啟;
hbase.data.umask
File permissions that should be used to write data files when hbase.data.umask.enable is true
Default:?000
開(kāi)啟上面一項(xiàng)配置后,文件的權(quán)限umask,默認(rèn)是000
hbase.metrics.showTableName
Whether to include the prefix "tbl.tablename" in per-column family metrics. If true, for each metric M, per-cf metrics will be reported for tbl.T.cf.CF.M, if false, per-cf metrics will be aggregated by column-family across tables, and reported for cf.CF.M. In both cases, the aggregated metric M across tables and cfs will be reported.
Default:?true
是否為每個(gè)指標(biāo)顯示表名前綴,默認(rèn)是true;
hbase.metrics.exposeOperationTimes
Whether to report metrics about time taken performing an operation on the region server. Get, Put, Delete, Increment, and Append can all have their times exposed through Hadoop metrics per CF and per region.
Default:?true
是否進(jìn)行關(guān)于操作在使用時(shí)間維度的指標(biāo)報(bào)告,比如GET PUT DELETE INCREMENT等,默認(rèn)是true;
hbase.master.hfilecleaner.plugins
A comma-separated list of HFileCleanerDelegate invoked by the HFileCleaner service. These HFiles cleaners are called in order, so put the cleaner that prunes the most files in front. To implement your own HFileCleanerDelegate, just put it in HBase's classpath and add the fully qualified class name here. Always add the above default log cleaners in the list as they will be overwritten in hbase-site.xml.
Default:?org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleaner
HFile的清理插件列表,逗號(hào)分隔,被HFileService調(diào)用,可以自定義,默認(rèn)org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleaner
hbase.regionserver.catalog.timeout
Timeout value for the Catalog Janitor from the regionserver to META.
Default:?600000
regionserver的Catalog Janitor訪問(wèn)META的超時(shí)時(shí)間,默認(rèn)是600000;
hbase.master.catalog.timeout
Timeout value for the Catalog Janitor from the master to META.
Default:?600000
Catalog Janitor從master到META的超時(shí)時(shí)間,我們知道這個(gè)Janitor是定時(shí)的去META掃描表目錄,來(lái)決定回收無(wú)用的regions,默認(rèn)是600000;
hbase.config.read.zookeeper.config
Set to true to allow HBaseConfiguration to read the zoo.cfg file for ZooKeeper properties. Switching this to true is not recommended, since the functionality of reading ZK properties from a zoo.cfg file has been deprecated.
Default:?false
讓hbaseconfig去讀zk的config,默認(rèn)false,也不支持開(kāi)啟,這個(gè)功能很搞笑~~個(gè)人觀點(diǎn);
hbase.snapshot.enabled
Set to true to allow snapshots to be taken / restored / cloned.
Default:?true
是否允許snapshot被使用、存儲(chǔ)和克隆,默認(rèn)是true;
hbase.rest.threads.max
The maximum number of threads of the REST server thread pool. Threads in the pool are reused to process REST requests. This controls the maximum number of requests processed concurrently. It may help to control the memory used by the REST server to avoid OOM issues. If the thread pool is full, incoming requests will be queued up and wait for some free threads. The default is 100.
Default:?100
REST服務(wù)器線程池的最大線程數(shù),池滿的話新請(qǐng)求會(huì)自動(dòng)排隊(duì),限制這個(gè)配置可以控制服務(wù)器的內(nèi)存量,預(yù)防OOM,默認(rèn)是100;
hbase.rest.threads.min
The minimum number of threads of the REST server thread pool. The thread pool always has at least these number of threads so the REST server is ready to serve incoming requests. The default is 2.
Default:?2
同上類(lèi)似,最小線程數(shù),為了確保服務(wù)器的服務(wù)狀態(tài),默認(rèn)是2;