Hadoop中常常需要增加新的節點,或者變更備份系數。在完成這些操作后,往往出現數據未自動備份,或者數據節點不可用的情況。本文就討論一下這個問題。 Hadoop的備份系數是指每個block在hadoop集群中有幾份,系數越高,冗余性越好,占用存儲也越多。備份系數
Hadoop中常常需要增加新的節點,或者變更備份系數。在完成這些操作后,往往出現數據未自動備份,或者數據節點不可用的情況。本文就討論一下這個問題。
Hadoop的備份系數是指每個block在hadoop集群中有幾份,系數越高,冗余性越好,占用存儲也越多。備份系數在hdfs-site.xml中定義,默認值為3.
如何變更備份系數?
首先stop-all.sh停止節點,修改master節點的hdfs-site.xml文件,設置dfs.relication值為目標值。啟動hadoop集群。
查看文件的備份系數:hadoop dfs -ls [filename] 結果行中的第二列是備份系數 (注:文件夾信息存儲在namenode節點上,所以沒有備份,故文件夾的備份系數是橫杠)
在操作后會發現,以前文件的備份系數仍是原來的值。原來hadoop并不會自動的按照新的備份系數調整,我們需要手動完成。
查看hadoop集群的備份冗余情況:hadoop fsck / 我很喜歡的命令,可以方便的看到各種類型block所占比例。
我們發現Average block replication的值仍然為舊值,所以我們需要修改hdfs中文件的備份系數。
修改hdfs文件備份系數:hadoop dfs -setrep [-R]
如果再fsck時候出錯,往往是由于某些文件的備份不正常導致的,可以用hadoop的balancer工具修復
自動負載均衡hadoop文件:hadoop balancer
查看各節點的磁盤占用情況 hadoop dfsadmin -report
原文地址:http://blog.csdn.net/awayyao/article/details/7616057
原文地址:修改hadoop的備份系數dfs.replication, 感謝原作者分享。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com