該文檔是用Hbase默認配置文件生成的,文件源是Hbase-default.xml
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 意味著你不想讓他運行。
0.98 版本以后默認:16010 ? 以前是 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綁定的端口
0.98 以前默認:60020以后默認是:16020
hbase.regionserver.info.port
HBase RegionServer web 界面綁定的端口 設置為 -1 意味這你不想與運行 RegionServer 界面.
0.98 以前默認:60030以后默認是:16030
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.
0.98 以前默認:10以后默認是:35
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
哈希函數使用的哈希算法??梢赃x擇兩個值:: murmur (MurmurHash) 和 jenkins (JenkinsHash). 這個哈希是給 bloom filters用的.
默認:murmur
hfile.block.index.cacheonwrite
在index寫入的時候允許put無根(non-root)的多級索引塊到block cache里,默認是false;
hfile.index.block.max.size:在多級索引的樹形結構里,如果任何一層的block index達到這個配置大小,則block寫出,同時
替換上新的block,默認是131072;
hfile.format.version
新文件的HFile 格式版本,設置為1來測試向后兼容,默認是2;
io.storefile.bloom.block.size
一個聯合布隆過濾器的單一塊(chunk)的大小,這個值是一個逼近值,默認是131072;
hfile.block.bloom.cacheonwrite
對于組合布隆過濾器的內聯block開啟cache-on-write,默認是false
hbase.rs.cacheblocksonwrite
當一個HFile block完成時是否寫入block cache,默認是false
hbase.rpc.server.engine
hbase 做rpc server的調度管理類,實現自org.apache.hadoop.ipc.RpcServerEngine,默認是org.apache.hadoop.hbase.ipc.ProtobufRpcServerEngine
hbase.ipc.client.tcpnodelay
默認是true,具體就是在tcp socket連接時設置 no delay
hbase.master.keytab.file
HMaster server驗證登錄使用的kerberos keytab 文件路徑。(譯者注:HBase使用Kerberos實現安全)
默認:
hbase.master.kerberos.principal
例如. "hbase/_HOST@EXAMPLE.COM". HMaster運行需要使用 kerberos principal name. principal name 可以在: user/hostname@DOMAIN 中獲取. 如果 "_HOST" 被用做hostname portion,需要使用實際運行的hostname來替代它。
默認:
hbase.regionserver.keytab.file
HRegionServer驗證登錄使用的kerberos keytab 文件路徑。
默認:
hbase.regionserver.kerberos.principal
例如. "hbase/_HOST@EXAMPLE.COM". HRegionServer運行需要使用 kerberos principal name. principal name 可以在: user/hostname@DOMAIN 中獲取. 如果 "_HOST" 被用做hostname portion,需要使用實際運行的hostname來替代它。在這個文件中必須要有一個entry來描述 hbase.regionserver.keytab.file
默認:
hadoop.policy.file
RPC服務器做權限認證時需要的安全策略配置文件,在Hbase security開啟后使用,默認是habse-policy.xml;
hbase.superuser
Hbase security 開啟后的超級用戶配置,一系列由逗號隔開的user或者group;
hbase.auth.key.update.interval
Hbase security開啟后服務端更新認證key的間隔時間:默認是86400000毫秒;
hbase.auth.token.max.lifetime
Hbase security開啟后,認證token下發后的生存周期,默認是604800000毫秒
zookeeper.session.timeout
ZooKeeper 會話超時.HBase把這個值傳遞改zk集群,向他推薦一個會話的最大超時時間。詳見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. "。 單位是毫秒
默認:180000
zookeeper.znode.parent
ZooKeeper中的HBase的根ZNode。所有的HBase的ZooKeeper會用這個目錄配置相對路徑。默認情況下,所有的HBase的ZooKeeper文件路徑是用相對路徑,所以他們會都去這個目錄下面。
默認:/hbase
zookeeper.znode.rootserver
ZNode 保存的 根region的路徑. 這個值是由Master來寫,client和regionserver 來讀的。如果設為一個相對地址,父目錄就是 ${zookeeper.znode.parent}.默認情形下,意味著根region的路徑存儲在/hbase/root-region-server.
默認:root-region-server
zookeeper.znode.acl.parent
root znode的acl,默認acl;
hbase.coprocessor.region.classes
逗號分隔的Coprocessores列表,會被加載到默認所有表上。在自己實現了一個Coprocessor后,將其添加到Hbase的classpath并加入全限定名。也可以延遲加載,由HTableDescriptor指定;
hbase.coprocessor.master.classes
由HMaster進程加載的coprocessors,逗號分隔,全部實現org.apache.hadoop.hbase.coprocessor.MasterObserver,同coprocessor類似,加入classpath及全限定名;
hbase.zookeeper.quorum
Zookeeper集群的地址列表,用逗號分割。例如:"host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".默認是localhost,是給偽分布式用的。要修改才能在完全分布式的情況下使用。如果在hbase-env.sh設置了HBASE_MANAGES_ZK,這些ZooKeeper節點就會和HBase一起啟動。
默認:localhost
hbase.zookeeper.peerport
ZooKeeper節點使用的端口。詳細參見:http://hadoop.apache.org/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
默認:2888
hbase.zookeeper.leaderport
ZooKeeper用來選擇Leader的端口,詳細參見:http://hadoop.apache.org/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
默認: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數量限制
默認:10
hbase.zookeeper.property.syncLimit
ZooKeeper的zoo.conf中的配置。 發送一個請求到獲得承認之間的ticks的數量限制
默認:5
hbase.zookeeper.property.dataDir
ZooKeeper的zoo.conf中的配置。 快照的存儲位置
默認:${hbase.tmp.dir}/zookeeper
hbase.zookeeper.property.clientPort
ZooKeeper的zoo.conf中的配置。 客戶端連接的端口
默認:2181
hbase.zookeeper.property.maxClientCnxns
ZooKeeper的zoo.conf中的配置。 ZooKeeper集群中的單個節點接受的單個Client(以IP區分)的請求的并發數。這個值可以調高一點,防止在單機和偽分布式模式中出問題。
默認:300
hbase.rest.port
HBase REST server的端口
默認:8080
hbase.rest.readonly
定義REST server的運行模式。可以設置成如下的值: false: 所有的HTTP請求都是被允許的 - GET/PUT/POST/DELETE. true:只有GET請求是被允許的
默認: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
是否跳過hbase.defaults.for.version的檢查,默認是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對象,則主機退出。設置為false會讓系統繼續運行,但是coprocessor的狀態會不一致,所以一般debug時才會設置為false,默認是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
設置true來允許在線schema變更,默認是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
設置為true來允許在schema變更時zk鎖表,鎖表可以組織并發的schema變更導致的表狀態不一致,默認是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,在達到這里配置的量級后,新線程才會再新的連接創立時創建,默認是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
顧名思義,最大線程數,達到這個數字后,服務器開始drop連接,默認是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連接隊列的最大數,如果線程池滿,會先在這個隊列中緩存請求,緩存上限就是該配置,默認是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參數-XX:MaxDirectMemorySize的百分比值,默認是0,即不開啟堆外分配;
hbase.data.umask.enable
Enable, if true, that file permissions should be assigned to the files written by the regionserver
Default:?false
開啟后,文件在regionserver寫入時會 有權限相關設定,默認是false不開啟;
hbase.data.umask
File permissions that should be used to write data files when hbase.data.umask.enable is true
Default:?000
開啟上面一項配置后,文件的權限umask,默認是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
是否為每個指標顯示表名前綴,默認是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
是否進行關于操作在使用時間維度的指標報告,比如GET PUT DELETE INCREMENT等,默認是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的清理插件列表,逗號分隔,被HFileService調用,可以自定義,默認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訪問META的超時時間,默認是600000;
hbase.master.catalog.timeout
Timeout value for the Catalog Janitor from the master to META.
Default:?600000
Catalog Janitor從master到META的超時時間,我們知道這個Janitor是定時的去META掃描表目錄,來決定回收無用的regions,默認是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,默認false,也不支持開啟,這個功能很搞笑~~個人觀點;
hbase.snapshot.enabled
Set to true to allow snapshots to be taken / restored / cloned.
Default:?true
是否允許snapshot被使用、存儲和克隆,默認是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服務器線程池的最大線程數,池滿的話新請求會自動排隊,限制這個配置可以控制服務器的內存量,預防OOM,默認是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
同上類似,最小線程數,為了確保服務器的服務狀態,默認是2;