<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【建議收藏】HBase配置檢查清單

          共 2635字,需瀏覽 6分鐘

           ·

          2021-03-24 11:57

          點(diǎn)擊上方 "大數(shù)據(jù)肌肉猿"關(guān)注, 星標(biāo)一起成長

          后臺回復(fù)【加群】,進(jìn)入高質(zhì)量學(xué)習(xí)交流群

          2021年大數(shù)據(jù)肌肉猿公眾號獎(jiǎng)勵(lì)制度

          來自:大數(shù)據(jù)研習(xí)社

          1.集群巡檢


          HBase是使用HDFS作為底層存儲的NoSQL數(shù)據(jù)庫,提供了滿足實(shí)時(shí)性和隨即讀寫功能的數(shù)據(jù)庫服務(wù)。


          每日早晚巡檢HBase服務(wù),檢查各集群的HMaster和RegionServer狀態(tài),是否事務(wù)積壓等問題。


          1.1 查看Requests Per Second和Num.Regions

          若為圖中所示為0,則需要登錄主機(jī)查看,通常這種情況會發(fā)生在重啟節(jié)點(diǎn)主機(jī)后發(fā)生。



          1.2 查看備用HMaster

          每個(gè)庫正常來說都有3個(gè)主節(jié)點(diǎn),一個(gè)正在跑,兩個(gè)備用,如圖所示。



          1.3 查看Software Attributes

          圖中所示,比較重要的是兩個(gè)標(biāo)出部分:

          1:代表著本庫的zookeeper節(jié)點(diǎn),如果出現(xiàn)異常,總數(shù)會不正常的


          2:代表著本庫的平均region數(shù),理論超過300就要進(jìn)行合并操作的,但這個(gè)是根據(jù)業(yè)務(wù)的需求進(jìn)行操作,業(yè)務(wù)側(cè)提出數(shù)據(jù)庫卡頓了,再進(jìn)行合并操作即可。



          1.4 查看Dead Region Servers

          此項(xiàng)是以庫為單位,登錄每個(gè)庫的HBase UI,若當(dāng)前庫內(nèi)有HBaseregionserver宕掉的節(jié)點(diǎn),則頁面上會顯示出如下情況:



          出現(xiàn)這種情況,則說明當(dāng)前庫有非正常節(jié)點(diǎn),可以嘗試登陸該故障節(jié)點(diǎn),查看故障原因(如HBase進(jìn)程消失,主機(jī)意外重啟,主機(jī)死機(jī)等)


          2.參數(shù)調(diào)優(yōu)


          2.1 HBase HRegion 最大化壓縮

          hbase.hregion.majorcompaction:所有 HStore-

          Files“最大化”壓縮之間的時(shí)間,要禁用自動(dòng)的最大化壓縮,請將此值設(shè)置為 0。



          2.2 RegionServer 小型壓縮線程計(jì)數(shù)

          hbase.regionserver.thread.compaction.small:

          regionserver做Minor Compaction時(shí)線程池里線程數(shù)目,可以設(shè)置為5



          2.3 HBase Region 分割限制

          hbase.regionserver.regionSplitLimit:控制最大的region數(shù)量,超過則不可以進(jìn)行split操作,默認(rèn)是2147483647,設(shè)置1可以禁止自動(dòng)的split,通過人工, 或者寫腳本在集群空閑時(shí)執(zhí)行。



          2.4 HBase 文件最大大小

          hbase.hregion.max.filesize:默認(rèn)是10G, 如果任何一個(gè)column familiy里的StoreFile超過這個(gè)值, 那么這個(gè)Region會一分為二,因?yàn)閞egion分 裂會有短暫的region下線時(shí)間(通常在5s以內(nèi)),為減少對業(yè)務(wù)端的影響,建議手動(dòng)定時(shí)分裂,可以設(shè)置大些。



          2.5 HBase 客戶端寫入緩沖

          hbase.client.write.buffer:客戶端寫buffer,設(shè)置autoFlush為false時(shí),當(dāng)客戶端寫滿buffer才flush 默認(rèn)為2M,寫緩存大小,推薦設(shè)置為5M,單位是字節(jié),當(dāng)然越大占用的內(nèi)存越多。



          2.6 HBase Region Server 處理程序計(jì)數(shù)

          hbase.regionserver.handler.count:該設(shè)置決定了處理RPC的線程數(shù)量,默認(rèn)值是30,通常可以調(diào)大,但不是越大越好,設(shè)置過大會占用過多的內(nèi)存, 導(dǎo)致頻繁的gc,或者出現(xiàn)oom。



          2.7 HFile 塊緩存大小

          hfile.block.cache.size:默認(rèn)值0.25,regionser-

          ver的block cache的內(nèi)存大小限制,在偏向讀的業(yè)務(wù)中,可以適當(dāng)調(diào)大該值,需要注意的是 hbase.regionserver.global.memstore.upperLimit的值和hfile.block.cache.size的值之和必須小于0.8。



          2.8 RegionServer 中所有 Memstore 的最大大小

          hbase.regionserver.global.memstore.upperLimit,hbase.regionserver.global.memstore.size:默認(rèn)值0.4 這個(gè)參數(shù)的作用是防止內(nèi)存占用過大,當(dāng)ReigonServer內(nèi)所有region的memstores所占用內(nèi)存總和達(dá)到heap的 40%時(shí),HBase會強(qiáng)制block所有的更新并flush這些region以釋放所有memstore占用的內(nèi)存。


          2.9 Memstore 刷新的低水位線

          hbase.regionserver.global.memstore.lowerLimit,hbase.regionserver.global.memstore.size.lower.limit:默認(rèn)值0.35 同upperLimit,只不過lowerLimit在所有region的memstores所占用內(nèi)存達(dá)到Heap的35%時(shí),不flush所有的 memstore。它會找一個(gè)memstore內(nèi)存占用最大的region,做個(gè)別flush,此時(shí)寫更新還是會被block。lowerLimit 算是一個(gè)在所有region強(qiáng)制flush導(dǎo)致性能降低前的補(bǔ)救措施。在日志中,表現(xiàn)為 “** Flush thread woke up with memory above low water


          2.10 HBase Memstore 刷新大小

          hbase.hregion.memstore.flush.size:如 memst-

          ore 大小超過此值(字節(jié)數(shù)),Memstore 將刷新到磁盤。這個(gè)參數(shù)的作用是當(dāng)單個(gè)Region內(nèi)所有的 memstore大小總和超過指定值時(shí),flush該region的所有memstore。RegionServer的flush是通過將請求添加一個(gè) 隊(duì)列,模擬生產(chǎn)消費(fèi)模式來異步處理的。那這里就有一個(gè)問題,當(dāng)隊(duì)列來不及消費(fèi),產(chǎn)生大量積壓請求時(shí),可能會導(dǎo)致內(nèi)存陡增,最壞的情況是觸發(fā)OOM。



          --end--


          掃描下方二維碼
          添加好友,備注【交流
          可私聊交流,也可進(jìn)資源豐富學(xué)習(xí)群


          更文不易,點(diǎn)個(gè)“在看”支持一下??

          瀏覽 45
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  8050午夜最新 | 影音先锋男人色 | 成人午夜精品视频在线观看 | 破坏版无码AV在线播放 | 色拍拍55|