W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
請(qǐng)參閱HBase重要配置一節(jié)的內(nèi)容。
對(duì)于較大的系統(tǒng),管理link:[compactions and splits]可能是您需要考慮的事情。
見[hbase.regionserver.handler.count]。
請(qǐng)參見[hfile.block.cache.size]。RegionServer進(jìn)程的內(nèi)存設(shè)置。
如果設(shè)置了列族或RegionServer屬性,HBASE-9857會(huì)在打開BlockCache時(shí)添加一個(gè)新選項(xiàng)來預(yù)取HFile內(nèi)容。此選項(xiàng)適用于HBase 0.98.3及更高版本。目的是在打開緩存后,使用內(nèi)存中的表數(shù)據(jù)盡可能快地預(yù)熱BlockCache,而不是將預(yù)取數(shù)計(jì)為緩存未命中。這對(duì)于快速讀取非常有用,但如果要預(yù)加載的數(shù)據(jù)不適合BlockCache,則不是一個(gè)好主意。它可用于調(diào)整預(yù)取的IO影響與所有數(shù)據(jù)塊在緩存中的時(shí)間之間的關(guān)系。
要在給定列族上啟用預(yù)取,可以使用HBase Shell或使用API??。
使用HBase Shell啟用預(yù)?。?/b>
hbase> create 'MyTable', { NAME => 'myCF', PREFETCH_BLOCKS_ON_OPEN => 'true' }
使用API??啟用預(yù)取
// ...
HTableDescriptor tableDesc = new HTableDescriptor("myTable");
HColumnDescriptor cfDesc = new HColumnDescriptor("myCF");
cfDesc.setPrefetchBlocksOnOpen(true);
tableDesc.addFamily(cfDesc);
// ...
要查看運(yùn)行中的預(yù)取,請(qǐng)?jiān)趆base-2.0 +中的org.apache.hadoop.hbase.io.hfile.HFileReaderImpl,或在HBase的早期版本,hbase-1.x中的org.apache.hadoop.hbase.io.hfile.HFileReaderV2中啟用TRACE級(jí)別登錄。
請(qǐng)參見[hbase.regionserver.global.memstore.size]。通常根據(jù)需要為RegionServer進(jìn)程調(diào)整此內(nèi)存設(shè)置。
請(qǐng)參見[hbase.regionserver.global.memstore.size.lower.limit]。通常根據(jù)需要為RegionServer進(jìn)程調(diào)整此內(nèi)存設(shè)置。
請(qǐng)參見[hbase.hstore.blockingStoreFiles]。如果RegionServer日志中存在阻塞,則增加此值可能有所幫助。
請(qǐng)參見[hbase.hregion.memstore.block.multiplier]。如果有足夠的RAM,增加這個(gè)可以幫助。
讓HBase將校驗(yàn)和寫入數(shù)據(jù)塊,并保存在讀取時(shí)必須進(jìn)行校驗(yàn)和查找。
請(qǐng)參見[hbase.regionserver.checksum.verify],[hbase.hstore.bytes.per.checksum]和[hbase.hstore.checksum.algorithm]。
HBASE- 11355引入了幾種可以提高性能的callQueue調(diào)優(yōu)機(jī)制。
要增加callqueue的數(shù)量,請(qǐng)?jiān)O(shè)置hbase.ipc.server.num.callqueue為大于1的值。要將callqueue拆分為單獨(dú)的讀寫隊(duì)列,請(qǐng)將hbase.ipc.server.callqueue.read.ratio的值設(shè)置為0和1之間。此因素將隊(duì)列的權(quán)重賦給寫入(如果低于0.5)或讀?。ㄈ绻哂?.5)。另一種說法是,該因子決定了拆分隊(duì)列中有多少百分比用于讀取。以下示例說明了一些可能性。請(qǐng)注意,無論您使用何種設(shè)置,始終至少有一個(gè)寫入隊(duì)列。
您還可以拆分讀取隊(duì)列,以便通過設(shè)置hbase.ipc.server.callqueue.scan.ratio選項(xiàng)將單獨(dú)的隊(duì)列用于短讀?。▉碜訥et操作)和長(zhǎng)讀?。▉碜許can操作)。此選項(xiàng)是介于0和1之間的一個(gè)因子,它決定了用于獲取和掃描的讀取隊(duì)列的比率。如果值低于0.5,則使用更多隊(duì)列用于獲取,如果值高于0.5,則使用更多隊(duì)列進(jìn)行掃描。無論您使用何種設(shè)置,至少有一個(gè)讀取隊(duì)列用于Get操作。
您可以使用新選項(xiàng)hbase.ipc.server.callqueue.handler.factor以編程方式調(diào)整隊(duì)列數(shù):
要使這些值在給定的區(qū)域服務(wù)器上生效,必須重新啟動(dòng)區(qū)域服務(wù)器。這些參數(shù)僅用于測(cè)試目的,應(yīng)謹(jǐn)慎使用。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: