分享

设置属性dfs.replication是将数据备份的,怎么还原数据呢?

chenhaoyes 发表于 2014-8-28 16:52:03 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 10908
还原数据时是MR框架主动实现,还是需要程序员找到备份的数据手工还原?当设置了这个参数后,怎么知道数据已经有备份?

已有(2)人评论

跳转到指定楼层
howtodown 发表于 2014-8-28 18:58:17
可以通过下面命令:
hadoop fsck /

来查看副本数目




副本数按dfs.replication设置,如果有失效节点导致某数据块副本数降低,当低于dfs.replication.min后,系统再在其他节点处复制新的副本。如果该数据块的副本经常丢失,导致在环境中太多的节点处复制了超过dfs.replication.max的副本数,那么就不再复制了。
回复

使用道具 举报

sstutu 发表于 2014-8-28 19:01:09
补充一些,或许对你有帮助


在使用hadoop fsck / 命令查看hadoop dfs时,输出如下:
.............................................
/user/hadoop/.staging/job_1381991904684_0036/libjars/zookeeper-3.4.5-cdh4.3.0.jar:  Under replicated BP-2044520431-132.35.141.65-1381473011645:blk_-7907774648029476743_40033. Target Replicas is 10 but found 4 replica(s).
......................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
...................................................Status: HEALTHY
Total size:        4583923103 B
Total dirs:        2807
Total files:        11151 (Files currently being written: 4)
Total blocks (validated):        11165 (avg. block size 410561 B)
Minimally replicated blocks:        11165 (100.0 %)
Over-replicated blocks:        0 (0.0 %)
Under-replicated blocks:        26 (0.23287058 %)
Mis-replicated blocks:        0 (0.0 %)
Default replication factor:        2
Average block replication:        2.0206
Corrupt blocks:        0
Missing replicas:        156 (0.68674064 %)
Number of data-nodes:        4
Number of racks:        2
FSCK ended at Fri Oct 18 09:58:48 CST 2013 in 1237 milliseconds

副本缺失率为0.68674064 %,在副本数一下的块数有26块,这26个块日志输入分别为Target Replicas is 10 but found 4 replica(s).  这个可能是由于前期的原因造成的。目前的集群设置的副本数为2,可以使用下列命令将这些块的副本数更改了:
hadoop fs -setrep -R 2 /user/hadoop/.staging

注意一点:一个文件,上传到hdfs上时指定的是几个副本就是几个。以后你修改了副本数,对已经上传了的文件也不会起作用。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条