hadoop中dfs.replication、dfs.replication.min及dfs.safemode.threshold.pct关系

来源:互联网 发布:android完整浏览器源码 编辑:程序博客网 时间:2024/06/05 15:16

一、参数含义

dfs.replication:设置数据块应该被复制的份数;

dfs.replication.min:所规定的数据块副本的最小份数;

dfs.safemode.threshold.pct:指定应有多少比例的数据块满足最小副本数要求。

                                                      (1)当小于这个比例, 那就将系统切换成安全模式,对数据块进行复制;

                                                      (2)当大于该比例时,就离开安全模式,说明系统有足够的数据块副本数,可以对外提供服务。

                                                      (3)小于等于0意味不进入安全模式,大于1意味一直处于安全模式。

二、dfs.replication.min存在的意义

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

三、hadoop安全模式的理解

hadoop的安全模式即只读模式,是指当前系统中数据块的副本数比较少,在该阶段要对数据块进行复制操作,不允外界对数据块进行修改和删除等操作。NameNode在启动的时候首先进入安全模式,如果datanode丢失的block达到一定的比例(1-dfs.safemode.threshold.pct),则系统会一直处于安全模式状态即只读状态。dfs.safemode.threshold.pct(缺省值0.999f)表示HDFS启动的时候,如果DataNode上报的block个数达到了元数据记录的block个数的0.999倍才可以离开安全模式,否则一直是这种只读模式。如果设为1则HDFS永远是处于SafeMode。

     


参考:http://www.dataguru.cn/forum.php?mod=viewthread&tid=72589

0 0
原创粉丝点击