热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

修改hadoop的备份系数dfs.replication

Hadoop中常常需要增加新的节点,或者变更备份系数。在完成这些操作后,往往出现数据未自动备份,或者数据节点不可用的情况。本文就讨论一下这个问题。Hadoop的备份系数是指每个block在hadoop集群中有几份,系数越高,冗余性越好,占用存储也越多。备份系数

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] 如果有-R将修改子目录文件的性质。hadoop dfs -setrep -w 3 -R /user/hadoop/dir1 就是把目录下所有文件备份系数设置为3.

如果再fsck时候出错,往往是由于某些文件的备份不正常导致的,可以用hadoop的balancer工具修复

自动负载均衡hadoop文件:hadoop balancer

查看各节点的磁盘占用情况 hadoop dfsadmin -report

原文地址:http://blog.csdn.net/awayyao/article/details/7616057

推荐阅读
author-avatar
elsister789_4592
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有