java - 在伪分布式模式下设置mapred.map.tasks时出错

标签 java hadoop mapreduce mahout

如建议的here所示,我正在伪分布式模式下使用以下mapred-site.xml文件运行hadoop。该作业正在4核计算机上运行。

<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.



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

最佳答案

这不是问题,而是hadoop启动期间的正常过程。

安全模式是一种HDFS状态,其中文件系统以只读方式安装;不执行复制,也不能创建或删除文件。这是在NameNode启动时自动输入的,以允许所有DataNode有时间在NameNode确定不足复制的块之前,使用NameNode进行 checkin 并宣布它们持有哪些块,等等。

您还可以看到什么是安全模式in this page

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.

关于java - 在伪分布式模式下设置mapred.map.tasks时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8357630/

相关文章:

java - POI 单元格颜色和宽度

java - eclipseProject任务会自动将checkstyleNature添加到项目吗?

Java:一个类是它自己的子类吗?

csv - 使用 CSV Serde 和 Hive 创建表将所有字段类型转换为字符串

hadoop - 大数据 - Hadoop(文件系统)

R Hadoop映射器错误下标越界

mapreduce - 选择 CouchDB 中值为最大值的记录

java - 为什么大的 HashMap 会导致 GC 停顿时间较长

java - 在 MAPR 中找不到 Hadoop FS API 文件问题

hadoop - apache hadoop最适合的开发框架是什么?