在Hadoop 2上运行作业时无法初始化集群exception

问题与我之前的问题相关联所有守护进程都在运行,jps显示:

6663 JobHistoryServer 7213 ResourceManager 9235 Jps 6289 DataNode 6200 NameNode 7420 NodeManager 

wordcount示例继续失败,出现以下exception:

 ERROR security.UserGroupInformation: PriviledgedActionException as:root (auth:SIMPLE) cause:java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses. Exception in thread "main" java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses. at org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:120) at org.apache.hadoop.mapreduce.Cluster.(Cluster.java:82) at org.apache.hadoop.mapreduce.Cluster.(Cluster.java:75) at org.apache.hadoop.mapreduce.Job$9.run(Job.java:1238) at org.apache.hadoop.mapreduce.Job$9.run(Job.java:1234) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491) at org.apache.hadoop.mapreduce.Job.connect(Job.java:1233) at org.apache.hadoop.mapreduce.Job.submit(Job.java:1262) at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1286) at WordCount.main(WordCount.java:80) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.hadoop.util.RunJar.main(RunJar.java:212) 

由于它说问题在于配置,我在这里发布配置文件。 目的是创建单个节点集群。

纱的site.xml

    yarn.nodemanager.aux-services mapreduce_shuffle   yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler   

核心的site.xml

   fs.default.name hdfs://localhost:9000   

HDFS-site.xml中

    dfs.replication 1   dfs.namenode.name.dir file:/home/hduser/yarn/yarn_data/hdfs/namenode   dfs.datanode.data.dir file:/home/hduser/yarn/yarn_data/hdfs/datanode   

mapred-site.xml中

   mapreduce.framework.name Yarn   

请告诉我缺少什么或我做错了什么。

你有大写Yarn ,这可能是它解决它的原因。 尝试官方文档中建议的小写版本。

   mapreduce.framework.name yarn   

我有类似的问题,但纱线不是问题。 将以下jar添加到我的类路径后,问题得到了解决:

  • Hadoop的MapReduce的客户jobclient-2.2.0.2.0.6.0-76
  • Hadoop的MapReduce的客户共2.2.0.2.0.6.0-76
  • Hadoop的MapReduce的客户洗牌2.2.0.2.0.6.0-76

看起来我有一个幸运的日子,并通过“所有”这些原因去了这个例外。 概要:

  • 错误的mapreduce.framework.name(见上文)
  • 缺少mapreduce job-client jar(见上文)
  • 错误的版本(请参阅无法初始化群集。请检查您的配置mapreduce.framework.name和相应的服务器地址 – 提交job2remoteClustr )
  • 我配置的’yarn.ipc.client.factory.class’不在纱线服务器的类路径中(仅在客户端上)

在我的情况下,我试图使用sqoop并遇到此错误。 事实certificate我指的是CDH repo提供的最新版本的hadoop 2.0,不支持sqoop。 cloudera的版本是2.0.0-cdh4.4.0,其中有纱线支撑。

当我在hadoop-0.20下使用2.0.0-cdh4.4.0时,问题就消失了。
希望这可以帮助。

将mapreduce_shuffle更改为mapreduce.shuffle使其在我的情况下工作