【问题标题】:Cannot initialize cluster exception while running job on Hadoop 2在 Hadoop 2 上运行作业时无法初始化集群异常
【发布时间】:2013-11-07 16:50:04
【问题描述】:

The question is linked to my previous question所有守护进程都在运行,jps显示:

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

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

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.<init>(Cluster.java:82)
    at org.apache.hadoop.mapreduce.Cluster.<init>(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)

因为它说问题出在配置中,所以我在这里发布配置文件。目的是创建一个单节点集群。

yarn-site.xml

<?xml version="1.0"?>
 <configuration>
<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>
<property>
   <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

core-site.xml

<configuration>
<property>
   <name>fs.default.name</name>
   <value>hdfs://localhost:9000</value>
</property>
</configuration>

hdfs-site.xml

 <configuration>
 <property>
   <name>dfs.replication</name>
   <value>1</value>
 </property>
 <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/home/hduser/yarn/yarn_data/hdfs/namenode</value>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/home/hduser/yarn/yarn_data/hdfs/datanode</value>
 </property>
 </configuration>

ma​​pred-site.xml

<configuration>
  <property>
      <name>mapreduce.framework.name</name>
      <value>Yarn</value>
  </property>
</configuration>

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

【问题讨论】:

    标签: java exception hadoop bigdata hadoop-yarn


    【解决方案1】:

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

    • hadoop-mapreduce-client-jobclient-2.2.0.2.0.6.0-76
    • hadoop-mapreduce-client-common-2.2.0.2.0.6.0-76
    • hadoop-mapreduce-client-shuffle-2.2.0.2.0.6.0-76

    【讨论】:

    • 您是使用 CLASSPATH 变量还是 libjars 添加了 jar 包?
    • 只需将这些库添加到您的构建路径中,即类路径
    • 如果您使用 Maven 或其他构建工具,指定 hadoop-mapreduce-client-jobclient 作为此列表中的唯一依赖项就足够了。 commonshuffle 都是 jobclient 的依赖项,因此您不必将它们指定为项目的依赖项。
    • @bat_rock,我遇到了同样的问题。你的解决方案对我有用:-)
    • @neeraj 如何将 jar 文件添加到类路径?
    【解决方案2】:

    您将Yarn 大写,这可能是它无法解决它的原因。试试suggested in the official documentation的小写版本。

    <configuration>
      <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
      </property>
    </configuration>
    

    【讨论】:

    • 成功了,将Yarn改为yarn解决了问题,作业成功运行!谢谢!
    • 线程“主”java.io.IOException 中的异常:无法初始化集群。请检查您的配置以获取 mapreduce.framework.name 和相应的服务器地址。连我的配置都OK。
    【解决方案3】:

    看起来我度过了幸运的一天,并且通过“所有”这些原因排除了这个例外。总结:

    【讨论】:

      【解决方案4】:

      在我的情况下,我试图使用 sqoop 并遇到了这个错误。 原来,我指的是 CDH repo 中不支持 sqoop 的最新版本的 hadoop 2.0。 cloudera 的版本是 2.0.0-cdh4.4.0,内置了 yarn 支持。

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

      【讨论】:

        【解决方案5】:

        将 mapreduce_shuffle 更改为 mapreduce.shuffle 使其适用于我的情况

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-18
          • 2018-03-23
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多