2011-12-02 35 views
-1

如建议here,我以伪分布式模式运行hadoop,并使用以下mapred-site.xml文件。这项工作在4核心机器上运行。以伪分布模式设置mapred.map.tasks时出错

<configuration> 
    <property> 
     <name>mapred.job.tracker</name> 
     <value>localhost:9001</value> 
    </property> 
    <property> 
    <name>mapred.map.tasks</name> 
    <value>4</value> 
    </property> 
    <property> 
    <name>mapred.reduce.tasks</name> 
    <value>4</value> 
    </property> 

</configuration> 

我收到以下错误:

The ratio of reported blocks 1.0000 has reached the threshold 0.9990.

,这是什么原因。如何解决这个问题?

+1

这是不是一个错误结束... –

+0

貌似NameNode的离开了安全模式的。阅读[HDFS体系结构指南](http://hadoop.apache.org/common/docs/r0.20.205.0/hdfs_design.html)以获取有关安全模式的更多详细信息。 –

回答

2

这不是问题,而是在hadoop启动过程中的一个正常程序。

安全模式是HDFS状态,其中文件系统以只读方式挂载;不执行复制,也不能创建或删除文件。这会在NameNode启动时自动进入,以允许所有DataNode时间使用NameNode检入并宣布它们保存哪些块,然后NameNode确定哪些块未被复制等。

您还可以看到什么是Safemode​​。

NameNode会一直等待,直到特定百分比的块出现并进行计算为止,默认情况下百分比由hdfs-default.xml中的dfs.safemode.threshold.pct参数设置。但您可以在hdfs-site.xml中更改它。

这是

<property> 
    <name>dfs.safemode.threshold.pct</name> 
    <value>0.999f</value> 
    <description> 
    Specifies the percentage of blocks that should satisfy 
    the minimal replication requirement defined by dfs.replication.min. 
    Values less than or equal to 0 mean not to wait for any particular 
    percentage of blocks before exiting safemode. 
    Values greater than 1 will make safe mode permanent. 
    </description> 
</property> 

所以你看到的日志与0.9990

The ratio of reported blocks 1.0000 has reached the threshold 0.9990. 
+0

您对安全模式(“本页面”中的内容)的链接是无效链接。你能提供一个新的吗? – AST

相关问题