亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

背景

相比較于個人PC,服務器一般可以通過掛載多塊磁盤來擴大單機的存儲能力。

磁盤均衡器:HDFS Disk Balancer

服務器和磁盤

在Hadoop HDFS中,DataNode負責最終數據block的存儲,在所在機器上的磁盤之間分配數據塊。當寫入新block時,DataNodes將根據選擇策略(循環策略可用空間策略)來選擇block的磁盤(卷)。

循環策略:它將新block均勻分布在可用磁盤上。默認此策略。

可用空間策略:此策略將數據寫入具有更多可用空間(按百分比)的磁盤。

磁盤均衡器:HDFS Disk Balancer

服務器磁盤使用情況

但是,在長期運行的群集中采用循環策略時,DataNode有時會不均勻地填充其存儲目錄(磁盤/卷),從而導致某些磁盤已滿而其他磁盤卻很少使用的情況。發生這種情況的原因可能是由于大量的寫入和刪除操作,也可能是由于更換了磁盤。

另外,如果我們使用基于可用空間的選擇策略,則每個新寫入將進入新添加的空磁盤,從而使該期間的其他磁盤處于空閑狀態。這將在新磁盤上創建瓶頸。

因此,需要一種Intra DataNode Balancing(DataNode內數據塊的均勻分布)來解決Intra-DataNode偏斜(磁盤上塊的不均勻分布),這種偏斜是由于磁盤更換或隨機寫入和刪除而發生的。

因此,Hadoop 3.0中引入了一個名為Disk Balancer的工具,該工具專注于在DataNode內分發數據。

HDFS Disk Balancer簡介

HDFS disk balancer是Hadoop 3中引入的命令行工具,用于平衡DataNode中的數據在磁盤之間分布不均勻問題。 這里要特別注意,HDFS disk balancer與HDFS Balancer是不同的:

HDFS disk balancer針對給定的DataNode進行操作,并將塊從一個磁盤移動到另一個磁盤,是DataNode內部數據在不同磁盤間平衡;

HDFS Balancer平衡了DataNode節點之間的分布。

HDFS Disk Balancer功能

HDFS Disk balancer支持兩個主要功能,即報告平衡

數據傳播報告

為了定義一種方法來衡量集群中哪些計算機遭受數據分布不均的影響,HDFS磁盤平衡器定義了HDFS Volume Data Density metric(卷/磁盤數據密度度量標準)和Node Data Density metric(節點數據密度度量標準)。

HDFS卷數據密度度量標準能夠比較數據在給定節點的不同卷上的分布情況。

節點數據密度度量允許在節點之間進行比較。

  • Volume data density metric計算過程

假設有一臺具有四個卷/磁盤的計算機-Disk1,Disk2,Disk3,Disk4,各個磁盤使用情況:

 

Disk1

Disk2

Disk3

Disk4

capacity

200 GB

300 GB

350 GB

500 GB

dfsUsed

100 GB

76 GB

300 GB

475 GB

dfsUsedRatio

0.5

0.25

0.85

0.95

volumeDataDensity

0.20

0.45

-0.15

-0.24

Total capacity= 200 + 300 + 350 + 500 = 1350 GB

Total Used= 100 + 76 + 300 + 475 = 951 GB

因此,每個卷/磁盤上的理想存儲為:

Ideal storage = total Used ÷ total capacity= 951÷1350 = 0.70

也就是每個磁盤應該保持在 70%理想存儲容量。

VolumeDataDensity = idealStorage – dfs Used Ratio

比如Disk1的卷數據密度= 0.70-0.50 = 0.20。其他Disk以此類推。

volumeDataDensity的正值表示磁盤未充分利用,而負值表示磁盤相對于當前理想存儲目標的利用率過高。

  • Node Data Density計算過程

Node Data Density(節點數據密度)= 該節點上所有卷/磁盤volume data density絕對值的總和。

上述例子中的節點數據密度=|0.20|+|0.45|+|-0.15|+|-0.24| =1.04

較低的node Data Density值表示該機器節點具有較好的擴展性,而較高的值表示節點具有更傾斜的數據分布。

一旦有了volumeDataDensity和nodeDataDensity,就可以找到集群中數據分布傾斜的節點,或者可以獲取給定節點的volumeDataDensity。

磁盤平衡

當指定某個DataNode節點進行disk數據平衡,就可以先計算或讀取當前的volumeDataDensity(磁盤數據密度)。有了這些信息,我們可以輕松地確定哪些卷已超量配置,哪些卷已不足。為了將數據從一個卷移動到DataNode中的另一個卷,Hadoop開發實現了基于RPC協議的Disk Balancer。

HDFS Disk Balancer開啟

HDFS Disk Balancer通過創建計劃進行操作,該計劃是一組語句,描述應在兩個磁盤之間移動多少數據,然后在DataNode上執行該組語句。計劃包含多個移動步驟。計劃中的每個移動步驟都具有目標磁盤,源磁盤的地址。移動步驟還具有要移動的字節數。該計劃是針對可操作的DataNode執行的。

默認情況下,Hadoop群集上已經啟用了Disk Balancer功能。通過在hdfs-site.xml中調整dfs.disk.balancer.enabled參數值,選擇在Hadoop中是否啟用磁盤平衡器。

HDFS Disk Balancer相關命令

Plan計劃

命令:hdfs diskbalancer -plan <datanode>

-out //控制計劃文件的輸出位置

-bandwidth //設置用于運行Disk Balancer的最大帶寬。默認帶寬10 MB/s。

–thresholdPercentage //定義磁盤開始參與數據重新分配或平衡操作的值。默認的thresholdPercentage值為10%,這意味著僅當磁盤包含的數據比理想存儲值多10%或更少時,磁盤才用于平衡操作。

-maxerror //它允許用戶在中止移動步驟之前為兩個磁盤之間的移動操作指定要忽略的錯誤數。

-v //詳細模式,指定此選項將強制plan命令在stdout上顯示計劃的摘要。

-fs //此選項指定要使用的NameNode。如果未指定,則Disk Balancer將使用配置中的默認NameNode。

磁盤均衡器:HDFS Disk Balancer

命令

Execute執行

命令:hdfs diskbalancer -execute <JSON file path>

execute命令針對為其生成計劃的DataNode執行計劃。

Query查詢

命令:hdfs diskbalancer -query <datanode>

query命令從運行計劃的DataNode獲取HDFS磁盤平衡器的當前狀態。

Cancel取消

命令:hdfs diskbalancer -cancel <JSON file path>

hdfs diskbalancer -cancel planID node <nodename>

cancel命令取消運行計劃。

Report匯報

命令:hdfs diskbalancer -fs https://namenode.uri -report <file://>

分享到:
標簽:均衡器 磁盤
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定