您好,登錄后才能下訂單哦!
這篇文章主要介紹“HDFS均衡操作的啟動和退出方法”,在日常操作中,相信很多人在HDFS均衡操作的啟動和退出方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”HDFS均衡操作的啟動和退出方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
HDFS均衡操作的啟動
使用HDFS的balancer命令,可以配置一個Threshold來平衡每一個DataNode磁盤利用率。命令如下:
start-balancer.sh -threshold 8
運行之后,會有Balancer進程出現:
上述命令設置了Threshold為8%,那么執行balancer命令的時候,首先統計所有DataNode的磁盤利用率的均值,然后判斷如果某一個DataNode的磁盤利用率超過這個均值Threshold,那么將會把這個DataNode的block轉移到磁盤利用率低的DataNode,這對于新節點的加入來說十分有用。Threshold的值為1到100之間,不顯示的進行參數設置的話,默認是10。
范圍超出之后,會有異常拋出:
java.lang.IllegalArgumentException: Numberout of range: threshold = 0.07
atorg.apache.hadoop.hdfs.server.balancer.Balancer$Cli.parse(Balancer.java:1535)
atorg.apache.hadoop.hdfs.server.balancer.Balancer$Cli.run(Balancer.java:1510)
atorg.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
atorg.apache.hadoop.hdfs.server.balancer.Balancer.main(Balancer.java:1582)
2012-12-19 16:28:33,299 ERRORorg.apache.hadoop.hdfs.server.balancer.Balancer: Exiting balancer due anexception
java.lang.IllegalArgumentException: Numberout of range: threshold = 110.0
atorg.apache.hadoop.hdfs.server.balancer.Balancer$Cli.parse(Balancer.java:1535)
atorg.apache.hadoop.hdfs.server.balancer.Balancer$Cli.run(Balancer.java:1510)
atorg.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
atorg.apache.hadoop.hdfs.server.balancer.Balancer.main(Balancer.java:1582)
如果參數值設置的越小,花費的時間就越長。使用此命令時,會反復的從磁盤使用率高的節點上,把塊轉移到磁盤使用率低的磁盤上,每次移動不超過10G大小,每次移動不超過20分鐘。
在做均衡的時候,會對網絡帶寬有影響,可在配置文件中對均衡操作的帶寬做限制:
<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>1048576</value>
<description>
Specifies themaximum bandwidth that each datanode can utilize for the balancing purpose interm of the number of bytes per second.
</description>
</property>
若不設置,則balance操作時,速度默認為1M/S大小。參數重啟時生效。不允許在集群中使用多個均衡同時操作。
HDFS均衡操作的退出
除了在命令行直接使用stop-balancer.sh腳本來執行退出均衡操作之外,當發生以下幾種情況時,當前執行的均衡操作也會退出:
(1)集群已經達到均衡狀態;
(2)沒有塊可以再被移動;
(3)連續五次迭代操作時沒有塊移動;
(4)和NameNode通信時出現IOException;
(5)另外一個均衡操作啟動;
到此,關于“HDFS均衡操作的啟動和退出方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。