HBase負載均衡和性能指標的示例分析-創(chuàng)新互聯(lián)

小編給大家分享一下HBase負載均衡和性能指標的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

目前累計服務(wù)客戶超過千家,積累了豐富的產(chǎn)品開發(fā)及服務(wù)經(jīng)驗。以網(wǎng)站設(shè)計水平和技術(shù)實力,樹立企業(yè)形象,為客戶提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站策劃、網(wǎng)頁設(shè)計、網(wǎng)絡(luò)營銷、VI設(shè)計、網(wǎng)站改版、漏洞修補等服務(wù)。成都創(chuàng)新互聯(lián)始終以務(wù)實、誠信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過對領(lǐng)先技術(shù)的掌握、對創(chuàng)意設(shè)計的研究、對客戶形象的視覺傳遞、對應(yīng)用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。

HBase負載均衡和性能指標

在分布式系統(tǒng)中,負載均衡是一個非常重要的功能,HBase通過Region的數(shù)量實現(xiàn)負載均衡,即通過hbase.master.loadbalancer.class實現(xiàn)自定義負載均衡算法。

內(nèi)容

HBase系統(tǒng)負載均衡是一個周期性的操作,通過負載均衡來均勻分配Region到各個RegionServer上,通過hbase.balancer.period屬性來控制負載均衡的時間間隔,默認是5分鐘。觸發(fā)負載均衡操作是有條件的,但是如果發(fā)生以下情況則不會觸發(fā)負載均衡操作:

l 負載均衡自動操作balance_switch關(guān)閉,即:balance_switch false;

l HBase Master節(jié)點正在初始化操作;

l HBase集群中正在執(zhí)行RIT,即Region正在遷移中;

l HBase集群正在處理離線的RegionServer;

負載均衡算法

HBase執(zhí)行負載均衡操作的時候,如何判斷各個RegionServer節(jié)點上的Region個數(shù)是否均衡,這里通過以下步驟來判斷:

l 計算均衡值的區(qū)間范圍,通過總Region個數(shù)以及RegionServer節(jié)點個數(shù),算出平均Region個數(shù),然后在此基礎(chǔ)上計算最小值和大值;

l 遍歷超過Region大值的RegionServer節(jié)點,將該節(jié)點上的Region值遷移出去,直到該節(jié)點的Region個數(shù)小于等于大值的Region;

l 遍歷低于Region最小值的RegionServer節(jié)點,分配集群中的Region到這些RegionServer上,直到大于等于最小值的Region;

l 負責上述操作,直到集群中所有的RegionServer上的Region個數(shù)在最小值與大值之間,集群才算到達負載均衡,之后,即使再次手動執(zhí)行均衡命令,HBase底層邏輯判斷會執(zhí)行忽略操作。

算法流程實例

下面筆者通過實際的應(yīng)用場景來給大家剖析HBase負載均衡算法的實現(xiàn)流程。舉個例子,假如我們當前有一個5臺節(jié)點規(guī)模的HBase集群(包含Master和RegionServer),其中2臺Master和3臺RegionServer組成,每臺RegionServer上的Region個數(shù),如圖所示:

 HBase負載均衡和性能指標的示例分析

圖1

執(zhí)行負載均衡操作之前,首先計算集群中總的Region個數(shù),當前實例中集群中的Region總個數(shù)為175+56+99=330,然后計算每個RegionServer需要容納的Region平均值,計算結(jié)果:

平均值(110) = 總Region個數(shù)(330) / RegionServers總數(shù)(3)

計算最小值和大值來判斷HBase集群是否需要進行負載均衡操作,計算公式:

# hbase.regions.slop 權(quán)重值,默認為0.2
最小值 = Math.floor(平均值 * (1-0.2))
大值 = Math.ceil(平均值 * (1+0.2))

HBase集群如果判斷各個RegionServer中的最小Region個數(shù)大于計算后的最小值,并且大Region個數(shù)小于大值,這是直接返回不會觸發(fā)負載均衡操作。根據(jù)實例中給出的Region數(shù),計算得出最小值Region為88,大值Region為120。

由于實例中RegionServer2的Region個數(shù)為56,小于最小值Region數(shù)88,而RegionServer1的Region個數(shù)為175,大于了大值Region數(shù)120,所以需要負載均衡操作。

HBase系統(tǒng)提供管理員命令來操作負載均衡,具體操作命令:

# 使用hbase shell命令進入到HBase控制臺,然后開啟自動執(zhí)行負載均衡
hbase(main):001:0> balance_switch true

balance_switch命令底層實現(xiàn)balance_switch.rb和admin.rb文件源碼:

 HBase負載均衡和性能指標的示例分析

圖2

此命令輸出的是之前負載均衡器balancer的開關(guān)設(shè)置,再看balance_switch命令處理實現(xiàn)源碼:

 HBase負載均衡和性能指標的示例分析

圖3

此時HBase負載均衡自動操作就開啟完畢,但是如果我們需要立即均衡集群的Region個數(shù)怎么辦?這里HBase也提供管理命令,通過balancer命令來實現(xiàn),操作命令:

hbase(main):001:0> balancer

balancer命令實現(xiàn)查看balancer.rb和admin.rb文件源碼:

 HBase負載均衡和性能指標的示例分析

圖4

 HBase負載均衡和性能指標的示例分析

圖5

該命令通過調(diào)用負載均衡器balancer的balanceCluster()方法生成負載均衡計劃執(zhí)行集群的負載均衡操作,Master實現(xiàn)負載均衡底層源碼:

 HBase負載均衡和性能指標的示例分析

圖6-1

 HBase負載均衡和性能指標的示例分析

圖6-2

但是這樣每次手動執(zhí)行,每次均衡的個數(shù)不一定能滿足要求,那么我們可以通過封裝該命令,用腳本來調(diào)度執(zhí)行,具體實現(xiàn)代碼:

HBase負載均衡和性能指標的示例分析 

圖7

此腳本默認執(zhí)行20次,可以通過輸入整型參數(shù)來自定義執(zhí)行次數(shù)。

當HBase集群檢查完所有的RegionServer上的Region個數(shù)已打要求,那么此時集群的負載均衡操作就已經(jīng)完成了。如果沒有達到要求,可以再次執(zhí)行上述腳本,直到所有的Region個數(shù)在最小值和大值之間為止。當HBase集群中所有的RegionServer完成負載均衡后,實例中的各個RegionServer上的Region個數(shù)分布,如圖所示:

 HBase負載均衡和性能指標的示例分析

圖8

此時各個RegionServer節(jié)點上的Region個數(shù)均在最小值和大值范圍內(nèi),HBase集群各個RegionServer節(jié)點上的Region處理均衡狀態(tài)。

性能指標

HBase系統(tǒng)有一個非常重要的性能指標,那就是集群處理請求的延時。HBase系統(tǒng)為了反應(yīng)集群內(nèi)部處理請求所耗費的時間提供一個工具類即:

org.apache.hadoop.hbase.tool.Canary

此類主要用戶檢查HBase系統(tǒng)的耗時狀態(tài)。如果不知道使用方法,通過help命令來查看具體的用法,操作命令:

hbase org.apache.hadoop.hbase.tool.Canary -help

(1)查看集群中每個表中每個Region的耗時情況

hbase org.apache.hadoop.hbase.tool.Canary

(2) 查看money表中每個Region的耗時情況,多個表之間使用空格分割

# 查看money表和person表
hbase org.apache.hadoop.hbase.tool.Canary money person

(3) 查看每個RegionServer的耗時情況

hbase org.apache.hadoop.hbase.tool.Canary -regionserver dn1

通常情況下我們比較關(guān)注每個RegionServer節(jié)點的耗時情況,將該命令封裝一下,然后打印集群中每個RegionServer的耗時情況,腳本實現(xiàn):

 HBase負載均衡和性能指標的示例分析

以上是“HBase負載均衡和性能指標的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

當前標題:HBase負載均衡和性能指標的示例分析-創(chuàng)新互聯(lián)
鏈接URL:http://m.kartarina.com/article44/iieee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站改版、品牌網(wǎng)站設(shè)計、企業(yè)建站建站公司、手機網(wǎng)站建設(shè)

廣告

聲明:本網(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)

成都app開發(fā)公司
主站蜘蛛池模板: 国产嫖妓一区二区三区无码| 亚洲AV永久无码天堂影院| 无码日韩人妻AV一区二区三区| 国产高新无码在线观看| 国产日韩精品无码区免费专区国产| 国产精品亚洲а∨无码播放| 亚洲av中文无码乱人伦在线观看| 黄A无码片内射无码视频| 国产成人无码免费看视频软件| 国产av无码专区亚洲国产精品| 精品无码成人片一区二区98| 日韩AV高清无码| 永久免费无码网站在线观看个| 久久久无码精品亚洲日韩蜜臀浪潮| 国产成人无码精品久久久免费| 亚洲人成无码网站在线观看| 亚洲成a人片在线观看无码专区| 国产一区二区三区无码免费| 永久免费AV无码国产网站| 少妇无码一区二区三区| 亚洲av无码成h人动漫无遮挡| 伊人久久无码精品中文字幕| 色综合久久久无码中文字幕波多| 久久无码人妻一区二区三区| 亚洲AV无码精品色午夜果冻不卡 | 久久久久亚洲AV无码专区网站| 无码精品人妻一区二区三区中| 中文无码喷潮在线播放| 亚洲无码精品浪潮| 亚洲色偷拍区另类无码专区| 亚洲AV蜜桃永久无码精品| 无码激情做a爰片毛片AV片 | 亚洲av无码电影网| 亚洲AV无码精品蜜桃| 人妻少妇偷人精品无码| 久久水蜜桃亚洲av无码精品麻豆| 精品无码一区二区三区亚洲桃色| 精品深夜AV无码一区二区| 久久久久成人精品无码中文字幕| 亚洲A∨无码无在线观看| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 |