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

我們一起聊聊Hdfs Disk Balancer 磁盤均衡器

開發(fā) 前端
我們剛剛給某個DataNode新增加了一塊磁盤或者集群上存在大批量的write & deltete操作等燈。那么有沒有一種工具,能夠使單個DataNode中的多個磁盤的數(shù)據(jù)均衡呢?借助Hadoop提供的Diskbalancer命令行工具可以實現(xiàn)。

1、背景

在我們的hadoop集群運行一段過程中,由于多種原因,數(shù)據(jù)在DataNade的磁盤之間的分布可能是不均勻。比如: 我們剛剛給某個DataNode新增加了一塊磁盤或者集群上存在大批量的write & deltete操作等燈。那么有沒有一種工具,能夠使單個DataNode中的多個磁盤的數(shù)據(jù)均衡呢?借助Hadoop提供的Diskbalancer命令行工具可以實現(xiàn)。

2、hdfs balancer和 hdfs disk balancer有何不同?

hdfs balancer:是為了集群中DataNode的數(shù)據(jù)均衡,即針對多個DataNode的。

hdfs balancer

hdfs disk balancer:是為了使單臺DataNode中的多個磁盤中的數(shù)據(jù)均衡。

hdfs disk balancer

注意: 目前DiskBalancer不支持跨存儲介質(zhì)(SSD、DISK等)的數(shù)據(jù)轉(zhuǎn)移,所以磁盤的均衡都是要求在一個storageType下的。因為hdfs中存在異構存儲。

3、操作

3.1 生成計劃

[hadoopdeploy@hadoop01 ~]$ hdfs diskbalancer -plan hadoop01 -out hadoop01-plan.json

-plan:后面接的是主機名。-out:指定計劃文件的輸出位置。

生成計劃

3.2 執(zhí)行計劃

[hadoopdeploy@hadoop01 ~]$ hdfs diskbalancer -execute hadoop01-plan.json

執(zhí)行計劃

3.3 查詢計劃

[hadoopdeploy@hadoop01 ~]$ hdfs diskbalancer -query hadoop01

-query 后面跟的是 主機名

查詢計劃

3.4 取消計劃

[hadoopdeploy@hadoop01 ~]$ hdfs diskbalancer -cancel hadoop01-plan.json

取消計劃

4、和disk balancer相關的配置

配置

描述

dfs.disk.balancer.enabled

此參數(shù)控制是否為集群啟用diskbalancer。如果未啟用,任何執(zhí)行命令都將被DataNode拒絕。默認值為true。

dfs.disk.balancer.max.disk.throughputInMBperSec

這控制了diskbalancer在復制數(shù)據(jù)時消耗的最大磁盤帶寬。如果指定了10MB之類的值,則diskbalancer平均只會復制10MB/S。默認值為10MB/S。

dfs.disk.balancer.max.disk.errors

設置能夠容忍的在指定的移動過程中出現(xiàn)的最大錯誤次數(shù),超過此閾值則失敗。例如,如果一個計劃有3對磁盤要在其中復制,并且第一個磁盤集遇到超過5個錯誤,那么我們放棄第一個副本并啟動計劃中的第二個副本。最大錯誤的默認值設置為5。

dfs.disk.balancer.block.tolerance.percent

設置磁盤之間進行數(shù)據(jù)均衡操作時,各個磁盤的數(shù)據(jù)存儲量與理想狀態(tài)之間的差異閾值。取值范圍[1-100],默認為10。例如,各個磁盤的理想數(shù)據(jù)存儲量為100 GB,此參數(shù)設置為10。那么,當目標磁盤的數(shù)據(jù)存儲量達到90 GB時,則認為該磁盤的存儲狀態(tài)就已經(jīng)達到預期。

dfs.disk.balancer.plan.threshold.percent

設置在磁盤數(shù)據(jù)均衡中可容忍的兩磁盤之間的數(shù)據(jù)密度域值差,取值范圍[1-100],默認為10。如果任意兩個磁盤數(shù)據(jù)密度差值的絕對值超過了閾值,則說明需要對該的磁盤進行數(shù)據(jù)均衡。例如,如果一個2盤節(jié)點上的總數(shù)據(jù)為100 GB,那么磁盤均衡器計算每個磁盤上的期望值為50 GB。如果容差為10%,則單個磁盤上的數(shù)據(jù)需要大于60 GB(50 GB + 10%容差值),DiskBalancer才能開始工作。

dfs.disk.balancer.plan.valid.interval

磁盤平衡器計劃有效的最大時間。支持以下后綴(不區(qū)分大小寫):ms(milis)、s(sec)、m(min)、h(h)、d(day)以指定時間(例如2s、2m、1h等)。如果未指定后綴,則假定為毫秒。默認值為1d

5、額外知識點

5.1 新的block存儲到那個磁盤(卷)中

當數(shù)據(jù)寫入新的block時,DataNode會根據(jù)策略選擇不同的磁盤來存儲。

循環(huán)策略: 默認策略,將新的塊均勻的分布在可用的磁盤上,可能造成數(shù)據(jù)傾斜。

可用空間策略: 選擇更多可用空間(按百分比)的磁盤??赡茉斐稍谀扯螘r間內(nèi),某個磁盤的IO壓力變大。

5.2 磁盤數(shù)據(jù)密度度量標準

磁盤數(shù)據(jù)密度度量標準

上圖來自https://www.bilibili.com/video/BV11N411d7Zh/?p=81

6、參考文檔

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2023-03-30 13:32:51

負載均衡器HDFS

2023-06-28 07:56:46

2022-06-15 08:00:50

磁盤RedisRocketMQ

2021-08-27 07:06:10

IOJava抽象

2024-02-20 21:34:16

循環(huán)GolangGo

2023-08-04 08:20:56

DockerfileDocker工具

2022-05-24 08:21:16

數(shù)據(jù)安全API

2023-08-10 08:28:46

網(wǎng)絡編程通信

2023-09-10 21:42:31

2023-06-30 08:18:51

敏捷開發(fā)模式

2022-02-14 07:03:31

網(wǎng)站安全MFA

2022-06-26 09:40:55

Django框架服務

2022-10-28 07:27:17

Netty異步Future

2023-04-26 07:30:00

promptUI非結構化

2022-04-06 08:23:57

指針函數(shù)代碼

2023-12-28 09:55:08

隊列數(shù)據(jù)結構存儲

2022-11-12 12:33:38

CSS預處理器Sass

2024-02-26 00:00:00

Go性能工具

2023-07-27 07:46:51

SAFe團隊測試

2025-03-27 02:00:00

SPIJava接口
點贊
收藏

51CTO技術棧公眾號