【问题标题】:Hadoop JobRunner do not launch jobHadoop JobRunner 不启动作业
【发布时间】:2013-05-22 18:08:10
【问题描述】:

我最近开始使用 Hadoop,一开始就出现了一些问题,到目前为止我已经能够解决它们,但是有一个我无法克服。问题是,一切似乎都运行良好,但是当我尝试启动 Hadoop 作业时,它只是挂了,我不知道如何设法让它工作,执行框架如下:

13/05/22 20:02:43 INFO support.ClassPathXmlApplicationContext: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@3fe9029b: startup date [Wed May 22 20:02:43 CEST 2013]; root of context hierarchy
13/05/22 20:02:43 INFO xml.XmlBeanDefinitionReader: Loading XML bean definitions from class path resource [hadoop-configuration.xml]
13/05/22 20:02:43 INFO config.PropertyPlaceholderConfigurer: Loading properties file from class path resource [hadoop.properties]
13/05/22 20:02:43 INFO support.DefaultListableBeanFactory: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@2d062bb6: defining beans [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,hadoopConfiguration,foundation-job,JulianSchJobRunner]; root of factory hierarchy
13/05/22 20:02:44 INFO config.PropertiesFactoryBean: Loading properties file from class path resource [hadoop.properties]
13/05/22 20:02:44 INFO mapreduce.JobRunner: Starting job [foundation-job]

我还不得不说,我使用的是 Cloudera 的 CDH4,以及用于 Hadoop 的 Spring。

正如我在最后一行所说的,它会停止并且不会继续执行。 先谢谢各位了

好的,我一直在查看日志,它启动了一些异常:

2013-05-22 21:01:36,254 WARN org.apache.hadoop.mapred.JobTracker: Writing to file hdfs://localhost.localdomain:8020/tmp/mapred/system/jobtracker.info failed!
2013-05-22 21:01:36,254 WARN org.apache.hadoop.mapred.JobTracker: FileSystem is not ready yet!
2013-05-22 21:01:36,262 WARN org.apache.hadoop.mapred.JobTracker: Failed to initialize recovery manager. 
org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /tmp/mapred/system/jobtracker.info could only be replicated to 0 nodes instead of minReplication (=1).  There are 1 datanode(s) running and no node(s) are excluded in this operation.

这个问题可能与HDFS的权限有关,或者与此无关?

【问题讨论】:

  • 检查名称节点和数据节点的日志中是否有任何异常消息

标签: spring hadoop mapreduce cloudera


【解决方案1】:

好的,解决了,对于任何将来的查找,我不得不说问题是通过将这些目录文件路径更改为分配更多内存的挂载点来解决的(问题是 NN 内存不足):

dfs.name.dir=${HOME}/path-to-desired-location instead of the basepath stated by default:
dfs.name.dir=/dfs/nn

我也必须在datanode和secondarynamenode上做同样的事情,然后只需要格式化namenode并重新启动HDFS服务:

hdfs namenode -format

希望这对其他人有帮助,干杯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-06
    • 1970-01-01
    • 2012-04-02
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    相关资源
    最近更新 更多