自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Hadoop 3中的磁盤管理大招解密

存儲(chǔ) 存儲(chǔ)軟件 Hadoop
DataNode 使用基于輪詢的策略寫入新塊。但是,在長(zhǎng)期運(yùn)行的集群中,由于 HDFS 中大規(guī)模文件刪除或通過(guò)磁盤熱交換特性添加新 DataNode 磁盤等事件,DataNode 仍然可能創(chuàng)建了顯著不平衡的卷。

1、前言

本文深入研究 HDFS 磁盤平衡的新特性,這是 Hadoop3 中加入的一個(gè)特性。

HDFS 現(xiàn)在包括(在 CDH 5. 8. 2 和更高版本中發(fā)布)用于跨節(jié)點(diǎn)移動(dòng)數(shù)據(jù)的全面的存儲(chǔ)容量管理方法。

在 HDFS 中,DataNode 將數(shù)據(jù)塊分散到本地文件系統(tǒng)目錄中,這可以使用 hdfs-site.xml 文件的 dfs.datanode.data.dir 參數(shù)指定。

在典型的安裝中,每個(gè)目錄(在 HDFS 術(shù)語(yǔ)中稱為卷)位于不同的設(shè)備上(例如,在單獨(dú)的 HDD 和 SSD 上)。

當(dāng)向 HDFS 寫入新塊時(shí),DataNode 使用卷選擇策略為塊選擇磁盤。

[[226313]]

當(dāng)前支持兩種此類策略類型:

  • 輪詢(round-robin)
  • 可用空間(available space)(HDFS-1804)

簡(jiǎn)而言之,如圖1所示,輪詢策略在可用磁盤上均勻分布新塊,而可用空間策略優(yōu)先將數(shù)據(jù)寫入具有***可用空間(按百分比)的磁盤。

圖1

默認(rèn)情況下,DataNode 使用基于輪詢的策略寫入新塊。但是,在長(zhǎng)期運(yùn)行的集群中,由于 HDFS 中大規(guī)模文件刪除或通過(guò)磁盤熱交換特性添加新 DataNode 磁盤等事件,DataNode 仍然可能創(chuàng)建了顯著不平衡的卷。

即使您使用基于可用空間的卷選擇策略,卷不平衡仍然可能導(dǎo)致效率較低的磁盤 I / O。

例如:每個(gè)新寫入將轉(zhuǎn)到新添加的空磁盤,而其他磁盤在此期間是空閑的,這會(huì)在新磁盤造成瓶頸。

最近,Apache Hadoop 社區(qū)開(kāi)發(fā)了服務(wù)器離線腳本(在 HDFS-1312,dev@ mailing list 和 GitHub 中所討論的),以緩解數(shù)據(jù)不平衡問(wèn)題。

但是,由于處于 HDFS 代碼庫(kù)之外,這些腳本要求 DataNode 在磁盤之間移動(dòng)數(shù)據(jù)之前脫機(jī)。

因此,HDFS-1312 還引入了一種在線磁盤平衡器,旨在根據(jù)各種指標(biāo)重新平衡正在運(yùn)行的 DataNode 上的卷。

與 HDFS 平衡器類似,HDFS 磁盤平衡器作為 DataNode 中的線程運(yùn)行,以便在具有相同存儲(chǔ)類型的卷之間移動(dòng)塊文件。

在本文的剩余部分,您將了解為什么以及如何使用此新特性。

2、如何使用磁盤平衡器?

讓我們通過(guò)一個(gè)例子逐步探討這個(gè)有用的特性。

首先,確認(rèn)在所有 DataNode 上配置 dfs.disk.balancer.enabled 設(shè)置為 true。

從 CDH 5.8.2 起,用戶可以通過(guò) Cloudera Manager 中的 HDFS 安全閥片段指定此配置:

在此示例中,我們將向預(yù)加載的 HDFS DataNode 添加一個(gè)新磁盤(/mnt/disk1),并將新磁盤掛載到 /mnt/disk2。

在 CDH 中,每個(gè) HDFS 數(shù)據(jù)目錄位于單獨(dú)的磁盤上,因此可以使用 df 顯示磁盤使用情況:

顯然,是時(shí)候讓磁盤平衡了!

典型的磁盤平衡器任務(wù)涉及三個(gè)步驟(通過(guò) HDFS diskbalancer 命令實(shí)現(xiàn)):計(jì)劃,執(zhí)行和查詢。

在***步中,HDFS 客戶端從 NameNode 讀取關(guān)于指定的 DataNode 的必要信息,以生成執(zhí)行計(jì)劃:

從輸出中可以看出,HDFS 磁盤平衡器使用計(jì)劃器來(lái)計(jì)算指定 DataNode 上數(shù)據(jù)移動(dòng)計(jì)劃的步驟,這是通過(guò)使用 DataNode 向 NameNode 報(bào)告的磁盤使用信息來(lái)完成的。

每個(gè)步驟指定要移動(dòng)數(shù)據(jù)的源卷和目標(biāo)卷,以及預(yù)計(jì)移動(dòng)的數(shù)據(jù)量。

在編寫本文時(shí),HDFS 支持的唯一計(jì)劃器是 GreedyPlanner ,它不斷將數(shù)據(jù)從最常用的設(shè)備移動(dòng)到最少使用的設(shè)備,直到全部數(shù)據(jù)均勻分布在所有設(shè)備上。

用戶還可以在計(jì)劃命令中指定空間利用率的閾值;因此,如果空間利用率的差異低于閾值,則計(jì)劃器認(rèn)為磁盤是平衡的。

另一個(gè)值得注意的選項(xiàng)是通過(guò)在計(jì)劃過(guò)程中指定— bandwidth 來(lái)限制磁盤平衡器任務(wù) I/O,以便磁盤平衡器 I/O 不會(huì)影響前臺(tái)工作。

磁盤平衡器執(zhí)行計(jì)劃生成為存儲(chǔ)在 HDFS 中的 JSON 文件。

默認(rèn)情況下,計(jì)劃文件保存在 /system/diskbalancer 目錄下:

要在 DataNode 上執(zhí)行計(jì)劃,請(qǐng)運(yùn)行:

此命令將 JSON 計(jì)劃文件提交給 DataNode,DataNode 在后臺(tái) BlockMover 線程中執(zhí)行它。

檢查 DataNode 上磁盤平衡器任務(wù)的狀態(tài),請(qǐng)使用 query 命令:

輸出(PLAN_DONE)表示磁盤平衡任務(wù)已完成。要驗(yàn)證磁盤平衡器的有效性,請(qǐng)?jiān)俅问褂?df -h 查看跨兩個(gè)本地磁盤的數(shù)據(jù)分布:

輸出確認(rèn)磁盤平衡器成功地將卷之間的磁盤空間使用率差異降低到10%以下。任務(wù)完成!

要閱讀有關(guān) HDFS 磁盤均衡器的更多詳細(xì)信息,請(qǐng)閱讀 Cloudera 文檔和上游文檔。

3、總結(jié)

隨著 HDFS-1312 中引入期待已久的內(nèi)部 DataNode 磁盤平衡器特性,CDH 5.8.2 及更高版本中帶來(lái)的 HDFS 版本提供了一個(gè)全面的存儲(chǔ)容量管理解決方案,可以實(shí)現(xiàn)以下3種數(shù)據(jù)移動(dòng):跨節(jié)點(diǎn)(平衡器)、存儲(chǔ)類型(Mover)和單個(gè) DataNode 中的磁盤(磁盤平衡器)。

責(zé)任編輯:武曉燕 來(lái)源: 高效運(yùn)維
相關(guān)推薦

2015-10-09 09:43:28

CSS CSS3

2009-10-22 13:06:00

Linux磁盤管理

2011-01-11 13:53:33

Linux管理磁盤

2014-01-03 09:13:39

JavaScriptthis

2009-10-22 09:25:28

linux磁盤配額

2016-01-04 17:39:48

蟻視CES

2016-09-19 14:52:12

Hadoophdfs磁盤

2020-01-09 10:44:47

Hadoop 3缺點(diǎn)優(yōu)點(diǎn)

2010-08-03 10:32:42

Android 3.0Android 3.0Android開(kāi)發(fā)

2011-02-22 15:29:39

2009-02-17 16:20:02

Linux磁盤掛載硬件管理

2013-11-28 17:48:36

騰訊應(yīng)用寶平臺(tái)

2018-07-30 11:56:17

解密加密開(kāi)發(fā)

2017-12-07 10:39:19

linux磁盤RAID

2010-12-31 10:56:13

Windows Ser管理磁盤配額

2023-04-26 11:16:44

2016-02-24 09:38:25

Hadoop集群管理大數(shù)據(jù)技術(shù)

2010-04-08 17:05:21

Unix操作系統(tǒng)

2010-03-10 18:29:41

2019-04-17 14:44:42

Spark內(nèi)存源碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)