hadoop2.2.X配置參數(shù)說明:hbase-site.xml

<!--Mon Aug 19 12:45:45 2013-->

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),定興企業(yè)網(wǎng)站建設(shè),定興品牌網(wǎng)站建設(shè),網(wǎng)站定制,定興網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,定興網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

 <configuration>

   <property>

   <name>hbase.rpc.engine</name>

   <value>org.apache.hadoop.hbase.ipc.WritableRpcEngine</value>

 </property>

   <property>

   <name>hbase.hregion.max.filesize</name>

   <value>10737418240</value>

<!--默認(rèn)值:256M:說明:在當(dāng)前ReigonServer上單個Reigon的最大存儲空間,單個Region超過該值時,這個Region會被自動split成更小的region。 -->

 </property>

   <property>

   <name>hbase.rootdir</name>

   <value>hdfs://hadoop01:8020/apps/hbase/data</value>

 </property>

   <property>

   <name>hfile.block.cache.size</name>

   <value>0.40</value>

<!--默認(rèn)值:0.2:說明:storefile的讀緩存占用Heap的大小百分比,0.2表示20%。該值直接影響數(shù)據(jù)讀的性能

調(diào)優(yōu):當(dāng)然是越大越好,如果寫比讀少很多,開到0.4-0.5也沒問題。如果讀寫較均衡,0.3左右。如果寫比讀多,果斷默認(rèn)吧。

設(shè)置這個值的時,同時要參考 hbase.regionserver.global.memstore.upperLimit ,該值是memstore占heap的最大百分比,

兩個參數(shù)一個影響讀,一個影響寫。如果兩值加起來超過80-90%,會有OOM的風(fēng)險,謹(jǐn)慎設(shè)置。-->

 </property>

   <property>

   <name>hbase.regionserver.global.memstore.upperLimit</name>

   <value>0.4</value>

<!--默認(rèn)值:0.4/0.35 upperlimit說明:hbase.hregion.memstore.flush.size 這個參數(shù)的作用是當(dāng)單個Region內(nèi)所有的memstore大小總和超過指定值時,flush該region的所有memstore。

RegionServer的flush是通過將請求添加一個隊列,模擬生產(chǎn)消費模式來異步處理的。那這里就有一個問題,當(dāng)隊列來不及消費,產(chǎn)生大量積壓請求時,可能會導(dǎo)致內(nèi)存陡增,最壞的情況是觸發(fā)OOM。

  這個參數(shù)的作用是防止內(nèi)存占用過大,當(dāng)ReigonServer內(nèi)所有region的memstores所占用內(nèi)存總和達到heap的40%時,HBase會強制block所有的更新并flush這些region以釋放所有memstore占用的內(nèi)存。 -->

 </property>

   <property>

   <name>hbase.regionserver.global.memstore.lowerLimit</name>

   <value>0.38</value>

<!--lowerLimit說明: 同upperLimit,只不過lowerLimit在所有region的memstores所占用內(nèi)存達到Heap的35%時,不flush所有的memstore。它會找一個memstore內(nèi)存占用最大的region,做個別flush,此時寫更新還是會被block。lowerLimit算是一個在所有region強制flush導(dǎo)致性能降低前的補救措施。

在日志中,表現(xiàn)為 “** Flush thread woke up with memory above low water.”

調(diào)優(yōu):這是一個Heap內(nèi)存保護參數(shù),默認(rèn)值已經(jīng)能適用大多數(shù)場景。

   參數(shù)調(diào)整會影響讀寫,如果寫的壓力大導(dǎo)致經(jīng)常超過這個閥值,則調(diào)小讀緩存hfile.block.cache.size增大該閥值,或者Heap余量較多時,不修改讀緩存大小。

   如果在高壓情況下,也沒超過這個閥值,那么建議你適當(dāng)調(diào)小這個閥值再做壓測,確保觸發(fā)次數(shù)不要太多,然后還有較多Heap余量的時候,調(diào)大hfile.block.cache.size提高讀性能。-->

 </property>

 <property>

   <name>hbase.hregion.memstore.block.multiplier</name>

   <value>2</value>

<!--默認(rèn)值:2:說明:當(dāng)一個region里的memstore占用內(nèi)存大小超過hbase.hregion.memstore.flush.size兩倍的大小時,block該region的所有請求,進行flush,釋放內(nèi)存。

調(diào)優(yōu): 這個參數(shù)的默認(rèn)值還是比較靠譜的。如果你預(yù)估你的正常應(yīng)用場景(不包括異常)不會出現(xiàn)突發(fā)寫或?qū)懙牧靠煽兀敲幢3帜J(rèn)值即可。

如果正常情況下,你的寫請求量就會經(jīng)常暴長到正常的幾倍,那么你應(yīng)該調(diào)大這個倍數(shù)并調(diào)整其他參數(shù)值,比如hfile.block.cache.size和hbase.regionserver.global.memstore.upperLimit/lowerLimit,以預(yù)留更多內(nèi)存,防止HBase server OOM。-->

 </property>

   <property>

   <name>dfs.support.append</name>

   <value>true</value>

 </property>

   <property>

   <name>hbase.zookeeper.quorum</name>

   <value>hadoop04,hadoop05,hadoop06,hadoop07</value>

 </property>

   <property>

   <name>zookeeper.session.timeout</name>

   <value>60000</value>

<!--默認(rèn): 180000 :zookeeper 會話超時時間,單位是毫秒 -->

 </property>

   <property>

   <name>hbase.superuser</name>

   <value>hbase</value>

 </property>

   <property>

   <name>hbase.cluster.distributed</name>

   <value>true</value>

 </property>

   <property>

   <name>hbase.client.keyvalue.maxsize</name>

   <value>10485760</value>

<!--默認(rèn): 10485760 :一個KeyValue實例的最大size.這個是用來設(shè)置存儲文件中的單個entry的大小上限。因為一個KeyValue是不能分割的,

所以可以避免因為 數(shù)據(jù)過大導(dǎo)致region不可分割。明智的做法是把它設(shè)為可以被最大region  size整除的數(shù)。如果設(shè)置為0或者更小,就會禁用這個檢查。默認(rèn)10MB。  -->

 </property>

   <property>

   <name>hbase.zookeeper.property.clientPort</name>

   <value>2181</value>

<!--默認(rèn): 2181 :ZooKeeper的zoo.conf中的配置。 客戶端連接的端口 -->

 </property>

   <property>

   <name>hbase.hstore.blockingStoreFiles</name>

   <value>7</value>

<!--默認(rèn): 7 : 當(dāng)一個HStore含有多于這個值的HStoreFiles(每一個memstore flush產(chǎn)生一個HStoreFile)的時候,會執(zhí)行一個合并操作,update會阻塞直到合并完成,直到超過了hbase.hstore.blockingWaitTime的值

調(diào)優(yōu):block寫請求會嚴(yán)重影響當(dāng)前regionServer的響應(yīng)時間,但過多的storefile也會影響讀性能。從實際應(yīng)用來看,為了獲取較平滑的響應(yīng)時間,可將值設(shè)為無限大。如果能容忍響應(yīng)時間出現(xiàn)較大的波峰波谷,那么默認(rèn)或根據(jù)自身場景調(diào)整即可。-->

 </property>

 <property>

   <name>hbase.hstore.blockingWaitTime</name>

   <value>90000</value>

<!--20140314添加

默認(rèn): 90000 :hbase.hstore.blockingStoreFiles所限制的StoreFile數(shù)量會導(dǎo)致update阻塞,這個時間是來限制阻塞時間的。當(dāng)超過了這個時間,HRegion會停止阻塞update操作,不過合并還有沒有完成。默認(rèn)為90s.-->

 </property>

 <property>

   <name>hbase.hstore.compactionThreshold</name>

   <value>3</value>

<!--默認(rèn): 3 :當(dāng)一個HStore含有多于這個值的HStoreFiles(每一個memstore flush產(chǎn)生一個HStoreFile)的時候,會執(zhí)行一個合并操作,把這HStoreFiles寫成一個。這個值越大,需要合并的時間就越長。-->

 </property>

   <property>

   <name>hbase.hregion.majorcompaction</name>

   <value>86400000</value>

<!--默認(rèn): 86400000 :一個Region中的所有HStoreFile的major compactions的時間間隔。默認(rèn)是1天。設(shè)置為0就是禁用這個功能。-->

 </property>

   <property>

   <name>hbase.security.authorization</name>

   <value>false</value>

 </property>

   <property>

   <name>hbase.zookeeper.useMulti</name>

   <value>true</value>

 </property>

   <property>

   <name>hbase.client.scanner.caching</name>

   <value>100</value>

<!--默認(rèn): 1  :當(dāng)調(diào)用Scanner的next方法,而值又不在緩存里的時候,從服務(wù)端一次獲取的行數(shù)。越大的值意味著Scanner會快一些,但是會占用更多的內(nèi)存。

當(dāng)緩沖被占滿的時候,next方法調(diào)用會越來越慢。慢到一定程度,可能會導(dǎo)致超時。例如超過了 hbase.regionserver.lease.period。 -->

 </property>

   <property>

   <name>hbase.defaults.for.version.skip</name>

   <value>true</value>

 </property>

   <property>

   <name>zookeeper.znode.parent</name>

   <value>/hbase-unsecure</value>

 </property>

   <property>

   <name>hbase.hregion.memstore.flush.size</name>

   <value>134217728</value>

<!--默認(rèn): 67108864 :當(dāng)memstore的大小超過這個值的時候,會flush到磁盤。這個值被一個線程每隔hbase.server.thread.wakefrequency檢查一下。-->

 </property>

   <property>

   <name>hbase.regionserver.handler.count</name>

   <value>60</value>

<!--默認(rèn): 10  :RegionServers受理的RPC Server實例數(shù)量。對于Master來說,這個屬性是Master受理的handler數(shù)量.-->

 </property>

   <property>

   <name>hbase.hregion.memstore.mslab.enabled</name>

   <value>true</value>

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

說明:減少因內(nèi)存碎片導(dǎo)致的Full GC,提高整體性能。-->

 </property>

   <property>

   <name>hbase.security.authentication</name>

   <value>simple</value>

 </property>

   <property>

   <name>hbase.tmp.dir</name>

   <value>/var/log/hbase</value>

 </property>

   <property>      

   <name>hbase.master.info.bindAddress</name>      

   <value>hadoop03</value>  

   <description>Enter the HBase Master server hostname</description>

 </property>

 </configuration>

本文標(biāo)題:hadoop2.2.X配置參數(shù)說明:hbase-site.xml
當(dāng)前路徑:http://muchs.cn/article34/jojcse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、企業(yè)建站、網(wǎng)站營銷、外貿(mào)網(wǎng)站建設(shè)自適應(yīng)網(wǎng)站、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司