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

小議Hadoop HDFS Balancer

運(yùn)維 系統(tǒng)運(yùn)維 Hadoop
Hadoop的HDFS集群非常容易出現(xiàn)機(jī)器與機(jī)器之間磁盤利用率不平衡的情況,比如集群中添加新的數(shù)據(jù)節(jié)點(diǎn)。當(dāng)HDFS出現(xiàn)不平衡狀況的時候,將引發(fā)很多問題,我們該如何應(yīng)對?

Hadoop的HDFS集群非常容易出現(xiàn)機(jī)器與機(jī)器之間磁盤利用率不平衡的情況,比如集群中添加新的數(shù)據(jù)節(jié)點(diǎn)。當(dāng)HDFS出現(xiàn)不平衡狀況的時候,將引發(fā)很多問題,比如MR程序無法很好地利用本地計(jì)算的優(yōu)勢,機(jī)器之間無法達(dá)到更好的網(wǎng)絡(luò)帶寬使用率,機(jī)器磁盤無法利用等等。可見,保證HDFS中的數(shù)據(jù)平 衡是非常重要的。

在Hadoop中,包含一個Balancer程序,通過運(yùn)行這個程序,可以使得HDFS集群達(dá)到一個平衡的狀態(tài),使用這個程序的命令如下:

sh $HADOOP_HOME/bin/start-balancer.sh –t 10%

這個命令中-t參數(shù)后面跟的是HDFS達(dá)到平衡狀態(tài)的磁盤使用率偏差值。如果機(jī)器與機(jī)器之間磁盤使用率偏差小于10%,那么我們就認(rèn)為HDFS集群已經(jīng)達(dá)到了平衡的狀態(tài)。

Hadoop的開發(fā)人員在開發(fā)Balancer程序的時候,遵循了以下幾點(diǎn)原則:

1.  在執(zhí)行數(shù)據(jù)重分布的過程中,必須保證數(shù)據(jù)不能出現(xiàn)丟失,不能改變數(shù)據(jù)的備份數(shù),不能改變每一個rack中所具備的block數(shù)量。

2.  系統(tǒng)管理員可以通過一條命令啟動數(shù)據(jù)重分布程序或者停止數(shù)據(jù)重分布程序。

3.  Block在移動的過程中,不能暫用過多的資源,如網(wǎng)絡(luò)帶寬。

4.  數(shù)據(jù)重分布程序在執(zhí)行的過程中,不能影響name node的正常工作。

基于這些基本點(diǎn),目前Hadoop數(shù)據(jù)重分布程序?qū)崿F(xiàn)的邏輯流程如下圖所示:

Rebalance程序作為一個獨(dú)立的進(jìn)程與name node進(jìn)行分開執(zhí)行。

1 Rebalance Server從Name Node中獲取所有的Data Node情況:每一個Data Node磁盤使用情況。

2 Rebalance Server計(jì)算哪些機(jī)器需要將數(shù)據(jù)移動,哪些機(jī)器可以接受移動的數(shù)據(jù)。并且從Name Node中獲取需要移動的數(shù)據(jù)分布情況。

3 Rebalance Server計(jì)算出來可以將哪一臺機(jī)器的block移動到另一臺機(jī)器中去。

4,5,6 需要移動block的機(jī)器將數(shù)據(jù)移動的目的機(jī)器上去,同時刪除自己機(jī)器上的block數(shù)據(jù)。

7  Rebalance Server獲取到本次數(shù)據(jù)移動的執(zhí)行結(jié)果,并繼續(xù)執(zhí)行這個過程,一直沒有數(shù)據(jù)可以移動或者HDFS集群以及達(dá)到了平衡的標(biāo)準(zhǔn)為止。

Hadoop現(xiàn)有的這種Balancer程序工作的方式在絕大多數(shù)情況中都是非常適合的。

現(xiàn)在我們設(shè)想這樣一種情況:

1 數(shù)據(jù)是3份備份。

2 HDFS由2個rack組成。

3 2個rack中的機(jī)器磁盤配置不同,第一個rack中每一臺機(jī)器的磁盤空間為1TB,第二個rack中每一臺機(jī)器的磁盤空間為10TB。

4 現(xiàn)在大多數(shù)數(shù)據(jù)的2份備份都存儲在第一個rack中。

在這樣的一種情況下,HDFS級群中的數(shù)據(jù)肯定是不平衡的?,F(xiàn)在我們運(yùn)行Balancer程序,但是會發(fā)現(xiàn)運(yùn)行結(jié)束以后,整個HDFS集群中的數(shù)據(jù)依舊不平衡:rack1中的磁盤剩余空間遠(yuǎn)遠(yuǎn)小于rack2。

這是因?yàn)锽alance程序的開發(fā)原則1導(dǎo)致的。

簡單的說,就是在執(zhí)行Balancer程序的時候,不會將數(shù)據(jù)中一個rack移動到另一個rack中,所以就導(dǎo)致了Balancer程序永遠(yuǎn)無法平衡HDFS集群的情況。

針對于這種情況,可以采取2中方案:

  • 繼續(xù)使用現(xiàn)有的Balancer程序,但是修改rack中的機(jī)器分布。將磁盤空間小的機(jī)器分叉到不同的rack中去。
  • 修改Balancer程序,允許改變每一個rack中所具備的block數(shù)量,將磁盤空間告急的rack中存放的block數(shù)量減少,或者將其移動到其他磁盤空間富余的rack中去。
責(zé)任編輯:黃丹 來源: 博客
相關(guān)推薦

2023-03-30 13:32:51

負(fù)載均衡器HDFS

2023-04-03 06:57:38

DataNode工具命令行

2010-06-03 15:13:34

Hadoop Hdfs

2010-06-03 15:25:31

Hadoop Hdfs

2018-12-27 12:34:42

HadoopHDFS分布式系統(tǒng)

2010-06-07 13:35:16

Hadoop簡介

2012-07-11 17:21:23

HadoopHDFS

2010-06-07 13:23:56

Hadoop 學(xué)習(xí)總結(jié)

2012-07-05 10:51:57

Hadoop集群

2017-08-03 10:38:32

HADOOP1.XHDFSHadoop

2010-11-24 10:26:54

Novell SUSE

2019-11-06 08:54:21

HDFSHadoopMapReduce

2012-07-13 10:17:39

HadoopHDFS

2018-03-01 16:26:30

HDFSHadoop系統(tǒng)

2013-03-08 10:09:30

Hadoop

2017-06-08 11:00:09

HDFSHadoopYARN

2019-03-21 11:03:47

HDFSMapReduceHadoop

2011-05-26 16:18:51

Mongodb

2022-04-10 19:55:09

OpenELB云原生

2013-05-22 11:00:59

點(diǎn)贊
收藏

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