国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于HBase的大數(shù)據(jù)平臺負載均衡算法分析與優(yōu)化

2019-06-07 15:08邵芳王勇
軟件導刊 2019年1期
關鍵詞:負載均衡大數(shù)據(jù)預測

邵芳 王勇

摘 要:HBase原有負載均衡算法策略是保證每個Region Server的Region數(shù)目相同。但每個Region的訪問并不均等,可能造成負載不均衡情況,產(chǎn)生熱點數(shù)據(jù),影響請求響應效率。部分Region會成為熱點,導致一些Region Server負載過重。為提高HBase數(shù)據(jù)庫整體性能,將數(shù)據(jù)熱度因素考慮在內(nèi),使用預測方法設計HBase負載均衡算法,把預測數(shù)據(jù)的熱度作為Region Server負載。實驗表明,優(yōu)化后的負載均衡算法可在一定程度上提高HBase數(shù)據(jù)庫性能。

關鍵詞:HBase;大數(shù)據(jù);負載均衡;熱點數(shù)據(jù);預測

DOI:10. 11907/rjdk. 181331

中圖分類號:TP312文獻標識碼:A文章編號:1672-7800(2019)001-0104-04

Abstract: In order to improve the performance of HBase database, the original load balancing algorithm of HBase is analyzed. The original algorithm strategy ensures that the number of Region per Region Server is the same, but because the access of each Region is not equal, it may cause the load imbalance, generate hot data, and affect the response efficiency of the request. Part of the Region will become a hot spot, which some Region Server overload. It is very important to consider the impact of the heat of the data on the load balancing of a distributed database. Therefore, the prediction method is used to design the HBase load balancing algorithm and predict the heat of the data as the load of the Region Server. The experiment shows that the optimized load balancing algorithm can improve the performance of HBase database.

0 引言

隨著互聯(lián)網(wǎng)的迅猛發(fā)展,利用傳統(tǒng)關系型數(shù)據(jù)庫解決大規(guī)模數(shù)據(jù)集存在的問題引起廣泛關注,NoSQL(Not Only SQL,NoSQL ,非關系型數(shù)據(jù)庫)研究成為熱點[1]。互聯(lián)網(wǎng)產(chǎn)生的數(shù)據(jù)量增長迅速,對于海量數(shù)據(jù)的不斷增長,要求系統(tǒng)具有良好的橫向擴展性,集群技術能夠解決此類問題[2]。集群之間能資源共享,控制任務分發(fā)調(diào)度性能,并且隨著數(shù)據(jù)的增加進行擴展。

Apache HBase是開源分布式NoSQL數(shù)據(jù)庫,HBase技術源于《Bigtable:一個結構化數(shù)據(jù)的分布式存儲系統(tǒng)》這篇Google論文[3]。HBase作為一個分布式列存儲數(shù)據(jù)庫,因其高可用性、可擴展性等特征而被廣泛應用。HBase和Hadoop無縫集成,利用HDFS實現(xiàn)數(shù)據(jù)的底層分布式存儲[4]。HBase數(shù)據(jù)庫是列式存儲的數(shù)據(jù)庫,表的列數(shù)可在建表后動態(tài)增加,對于無實際值的列不進行存儲,節(jié)省空間。健康大數(shù)據(jù)平臺使用HBase數(shù)據(jù)庫,負載不均問題直接影響到整個集群的性能。隨著大量數(shù)據(jù)的注入,HBase Region數(shù)目的增加或不均等地對Region Server訪問[5],HBase通過負載均衡算法保證盡量均等地分配每個Region Server。國內(nèi)外很多知名企業(yè)都使用NoSQL 數(shù)據(jù)庫存儲數(shù)據(jù),如百度、新浪、Google、騰訊、阿里巴巴、Facebook等[6]。NoSQL數(shù)據(jù)庫相關技術還在不斷發(fā)展,互聯(lián)網(wǎng)時代海量數(shù)據(jù)的應用需求為NoSQL的發(fā)展提供了源源不斷的動力。因此,對非關系型數(shù)據(jù)庫HBase負載均衡的研究具有重要意義。

1 HBase負載均衡算法分析

如果Region Server存在負載不均衡,那么部分節(jié)點的堵塞情況就很容易發(fā)生,進而影響整體性能[7]。通過多種措施可以對HBase進行性能調(diào)優(yōu)[8],在0.92版本以后,HBase的負載均衡算法可通過實現(xiàn)了LoadBalancer接口的hbase.master.loadbalancer.class來自定義,實現(xiàn)定制的均衡策略,負載均衡策略是可插拔的。

1.1 SimpleLoadBalancer負載均衡策略分析

在HBase0.94版本中,默認使用SimpleLoadBalancer負載均衡算法,算法步驟是:計算每個Region Server中Region的總數(shù)目,用Region總數(shù)除以Region Server的數(shù)目得到每個Region Server的Region平均數(shù)目averageNum,最小值min的值為floor(averageNum),最大值max的值為ceiling(averageNum)[9]。如果所有Region Server都在此范圍內(nèi),說明不需要進行負載均衡操作。否則,從負載Region數(shù)目最大的Region Server開始遍歷到負載數(shù)目小于等于max為止,把這些需要轉移的Region存儲起來,設置原地址和目的地址(暫時為空)。從負載Region數(shù)目最小的Region Server開始遍歷到負載數(shù)目大于等于min為止,設置為目的地址。如果仍有負載小于min的Region Server,則從Region數(shù)目最多的Region Server中取出一個Region轉移到此Region Server中,直到?jīng)]有負載小于min的Region Server為止。如果仍然存在目的地址為空,則從負載最低的Region Server開始遍歷,如果此Region Server負載小于max則將其地址設置為目的地址,直到?jīng)]有為空的目的地址。若所有目的地址都不為空,則返回。否則,沒有目的地址的Region仍放在原Region Server中。

猜你喜歡
負載均衡大數(shù)據(jù)預測
無可預測
選修2-2期中考試預測卷(A卷)
選修2-2期中考試預測卷(B卷)
異構環(huán)境下改進的LATE調(diào)度算法
重庆市| 萨迦县| 禄丰县| 章丘市| 宁都县| 平度市| 孙吴县| 瑞丽市| 伊川县| 昂仁县| 阿城市| 清远市| 承德县| 平南县| 明水县| 武定县| 武山县| 雅江县| 哈巴河县| 恭城| 朝阳区| 札达县| 花垣县| 辉县市| 宁城县| 新源县| 甘泉县| 林州市| 青浦区| 开平市| 大宁县| 平江县| 门头沟区| 贺兰县| 莱阳市| 八宿县| 博客| 弋阳县| 怀化市| 大埔县| 张家界市|