本發(fā)明專利技術(shù)公開了一種基于HDFS寫數(shù)據(jù)均衡的策略方法,屬于大數(shù)據(jù)存儲領(lǐng)域,本發(fā)明專利技術(shù)通過引入考慮數(shù)據(jù)節(jié)點的磁盤使用率,將磁盤使用率過高的節(jié)點從可選的節(jié)點列表中移除,從而在寫數(shù)據(jù)的時候,盡可能保持集群節(jié)點的存儲使用率均衡。客戶端在寫數(shù)據(jù)時候,會向申請能夠用于當前寫操作的節(jié)點列表;采用默認副本放置策略,其并沒有考慮到節(jié)點存儲使用率的情況,高數(shù)據(jù)節(jié)點還是有可能被持續(xù)的寫入數(shù)據(jù);將存儲使用率高的節(jié)點篩選出來,將它們加入排除集合中;對HDFS的副本放置策略做出適當?shù)膬?yōu)化,使數(shù)據(jù)落地過程中始終達到集群數(shù)據(jù)塊負載均衡,并且盡量減少此過程帶來的額外資源消耗。
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)屬于大數(shù)據(jù)存儲領(lǐng)域,尤其涉及一種基于hdfs寫數(shù)據(jù)均衡的策略方法。
技術(shù)介紹
1、hadoop分布式文件系統(tǒng)(hadoop?distributed?filesystem),簡稱hdfs。hdfs是一個高容錯性的文件系統(tǒng),提供高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的應用。hdfs文件系統(tǒng)采用分塊機制分布式存儲數(shù)據(jù),并通過副本放置策略將數(shù)據(jù)塊分布在系統(tǒng)中多個機架內(nèi)的多個節(jié)點上,防止因單個節(jié)點出現(xiàn)故障造成數(shù)據(jù)塊的丟失。但是該副本放置策略由于其隨機特性,會導致數(shù)據(jù)的放置不平衡。當hdfs出現(xiàn)不平衡狀況的時候?qū)⒁l(fā)很多問題,比如mr程序無法更好的利用本地計算的優(yōu)勢,機器之間無法達到更好的網(wǎng)絡(luò)帶寬使用率,機器磁盤無法利用等。
2、默認副本放置策略認為:
3、1)當提交數(shù)據(jù)的節(jié)點屬于hdfs集群中存儲數(shù)據(jù)塊的節(jié)點時,該節(jié)點放置一份數(shù)據(jù)塊,否則在本機架隨機選擇一個節(jié)點放置第一副本;
4、2)第二副本則放置在和第一個副本所在主機處于不同機架的另外一個節(jié)點上;
5、3)第三副本則放置在和第二個副本所在主機處于相同機架的另外一個節(jié)點上;
6、4)剩余副本則在隨機放置于集群的一個節(jié)點上。
7、hdfs的默認副本放置策略是一個隨機選擇策略,副本的放置的最終狀態(tài)很難被保證。
8、1)其是利用將副本放置在不同的機架上來達到高可靠性和數(shù)據(jù)塊的均勻分布存儲的,但如果集群只有一個機架,那么該副本放置策略就退化為一個隨機選擇策略,數(shù)據(jù)塊的均勻分布和可靠性就很難被保證。</p>9、2)其并沒有考慮到節(jié)點負載的情況,及時有一個節(jié)點的負載遠高于其他節(jié)點,按照默認的副本放置策略,這個節(jié)點還是有可能被持續(xù)的寫入數(shù)據(jù)。
10、3)其主要是對前三個副本的放置位置做出了考慮,如果需要放置更多的副本,則后邊的副本放置會采用隨機選擇的策略。
11、hdfs系統(tǒng)中有個均衡器(balancer)的守護進程。它會將數(shù)據(jù)塊從負載較高的節(jié)點移動到負載較低得節(jié)點上,從而達到整個集群的分布均衡,但其對于集群具有滯后性,并且均衡器的調(diào)節(jié)和數(shù)據(jù)塊的移動都需要一定資源的消耗。
技術(shù)實現(xiàn)思路
1、本專利技術(shù)所要解決的技術(shù)問題是針對
技術(shù)介紹
的不足提供一種基于hdfs寫數(shù)據(jù)均衡的策略方法,對hdfs的副本放置策略做出適當?shù)膬?yōu)化,使數(shù)據(jù)落地過程中始終達到集群數(shù)據(jù)塊負載均衡,并且盡量減少此過程帶來的額外資源消耗。
2、本專利技術(shù)為解決上述技術(shù)問題采用以下技術(shù)方案:
3、1、一種基于hdfs寫數(shù)據(jù)均衡的策略方法,其特征在于:具體包含如下步驟;
4、步驟1,客戶端在寫數(shù)據(jù)時候,向管理節(jié)點namenode申請能夠用于當前寫操作的節(jié)點列表;
5、步驟2,通過管理節(jié)點namenode判斷集群如果沒有可用數(shù)據(jù)節(jié)點datanode,且目標數(shù)據(jù)節(jié)點datanode隊列小于客戶端要求副本數(shù),則返回管理節(jié)點datanode隊列;
6、步驟3,在集群有可用節(jié)點前提下,通過節(jié)點向namenode的心跳信息中獲取各個節(jié)點的存儲使用率;
7、步驟4,篩選存儲使用率高的節(jié)點,將數(shù)據(jù)節(jié)點的存儲使用率超過預定值的節(jié)點加入排除隊列中;
8、步驟5,采用默認副本放置策略選擇存儲系統(tǒng)中合適的節(jié)點;
9、步驟6,判斷該節(jié)點是否為合適的節(jié)點,包括判斷該節(jié)點的服務、狀態(tài)、讀寫請求量以及剩余存儲是否滿足當前寫操作;
10、步驟7,重復上述步驟直到目標節(jié)點數(shù)等于所要求的副本個數(shù),返回目標隊列。
11、作為本專利技術(shù)一種基于hdfs寫數(shù)據(jù)均衡的策略方法的進一步優(yōu)選方案,在步驟3中,管理節(jié)點namenode獲取各個數(shù)據(jù)節(jié)點的存儲使用率,具體包含如下步驟:
12、步驟3.1,數(shù)據(jù)節(jié)點datanode周期性的向管理節(jié)點namenode發(fā)送心跳信息;
13、步驟3.2,管理節(jié)點namenode中數(shù)據(jù)節(jié)點管理類datanodemanager()類負責管理在管理節(jié)點namenode上注冊的所有數(shù)據(jù)節(jié)點datanode,同時在心跳處理的過程中伴隨著數(shù)據(jù)節(jié)點集合映射關(guān)系datanodemap集合中所有數(shù)據(jù)節(jié)點datanode的負載信息的獲取及集群負載信息的更新。
14、步驟3.3,管理節(jié)點namenode從datanodemap中對負載信息進行過濾,獲取各個節(jié)點的使用容量。
15、作為本專利技術(shù)一種基于hdfs寫數(shù)據(jù)均衡的策略方法的進一步優(yōu)選方案,在步驟3中,在步驟3.1中,心跳信息包含數(shù)據(jù)節(jié)點datanode的注冊、剩余容量存儲信息、以及讀寫連接數(shù)。
16、作為本專利技術(shù)一種基于hdfs寫數(shù)據(jù)均衡的策略方法的進一步優(yōu)選方案,在步驟4中,篩選存儲使用率高的節(jié)點時,具體包含如下步驟:
17、步驟4.1,管理節(jié)點namenode增加節(jié)點存儲閾值配置項,當數(shù)據(jù)節(jié)點datanode的存儲使用率高于集群當前平均使用率一定的范圍后,判定當前數(shù)據(jù)節(jié)點為存儲使用率高的數(shù)據(jù)節(jié)點;
18、步驟4.2,將高存儲使用率節(jié)點添加至排除節(jié)點隊列集合,在調(diào)用默認副本放置策略時,主動避開數(shù)據(jù)節(jié)點datanode。
19、本專利技術(shù)采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:
20、1、本專利技術(shù)通過引入考慮數(shù)據(jù)節(jié)點datanode的磁盤使用率,不再從機架中隨機選擇,而是將磁盤使用率過高的節(jié)點從可選的節(jié)點列表中移除,從而在寫數(shù)據(jù)的時候,盡可能保持集群節(jié)點的存儲使用率均衡;
21、2、客戶端在寫數(shù)據(jù)時候,首先會向namenode申請能夠用于當前寫操作的節(jié)點列表;namenode采用默認副本放置策略,其并沒有考慮到節(jié)點存儲使用率的情況,高數(shù)據(jù)節(jié)點還是有可能被持續(xù)的寫入數(shù)據(jù);
22、3、本專利技術(shù)增加在篩選存儲使用率高的節(jié)點時,通過節(jié)點向namenode的心跳信息中獲取各個節(jié)點的存儲使用率,判斷當前節(jié)點的存儲使用率是否超過預定值,進而判斷當前節(jié)點是否滿足本次寫要求;
23、4、將存儲使用率高的節(jié)點篩選出來,將它們加入排除集合中,在副本放置時,不再考慮這些節(jié)點。
本文檔來自技高網(wǎng)...
【技術(shù)保護點】
1.一種基于HDFS寫數(shù)據(jù)均衡的策略方法,其特征在于:具體包含如下步驟;
2.根據(jù)權(quán)利要求1所述的一種基于HDFS寫數(shù)據(jù)均衡的策略方法,其特征在于:在步驟3中,管理節(jié)點NameNode獲取各個數(shù)據(jù)節(jié)點的存儲使用率,具體包含如下步驟:
3.根據(jù)權(quán)利要求1所述的一種基于HDFS寫數(shù)據(jù)均衡的策略方法,其特征在于:在步驟3中,在步驟3.1中,心跳信息包含數(shù)據(jù)節(jié)點DataNode的注冊、剩余容量存儲信息、以及讀寫連接數(shù)。
4.根據(jù)權(quán)利要求1所述的一種基于HDFS寫數(shù)據(jù)均衡的策略方法,其特征在于:在步驟4中,篩選存儲使用率高的節(jié)點時,具體包含如下步驟:
【技術(shù)特征摘要】
1.一種基于hdfs寫數(shù)據(jù)均衡的策略方法,其特征在于:具體包含如下步驟;
2.根據(jù)權(quán)利要求1所述的一種基于hdfs寫數(shù)據(jù)均衡的策略方法,其特征在于:在步驟3中,管理節(jié)點namenode獲取各個數(shù)據(jù)節(jié)點的存儲使用率,具體包含如下步驟:
3.根據(jù)權(quán)利要求1所述的一種基于h...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:曹俊亮,趙智峰,王剛,高超,白溥,張凱,
申請(專利權(quán))人:西安烽火軟件科技有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。