【问题标题】:NoClassDefFoundError HBase with YARNNoClassDefFoundError HBase with YARN
【发布时间】:2015-07-04 06:30:07
【问题描述】:

我知道这是被问到很多的话题之一。在我深入研究了我能找到的所有主题(其中大多数都在谈论 CLASSPATH)之后,我还是无法解决我的问题。

我找到并尝试过的主题示例:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration

java.lang.NoClassDefFoundError with HBase Scan

我在 Ubuntu 14.04 上使用 Hadoop 2.5.1 和 HBase 0.98.11

我设置了伪分布式模式并成功使用 hbase 运行 hadoop。在我想设置完全分布式模式后,作业因 NoClassDefFound 错误而失败。我尝试将“export HADOOP_CLASSPATH=/usr/local/hbase-0.98.11-hadoop2/bin/hbase classpath”添加到hadoop-env(也是yarn-env)中,还是不行。

我发现一个通知是如果我评论了

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

我可以成功运行这些作业。但似乎我在单个而不是多节点上运行它。

以下是一些配置:

地图红点

<property>
  <name>mapred.job.tracker</name>
  <value>hadoop1:54311</value>
  <description>The host and port that the MapReduce job tracker runs
  at.  If "local", then jobs are run in-process as a single map
  and reduce task.
  </description>
</property>

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

hdfs 站点

<property>
  <name>dfs.replication</name>
  <value>2</value>
  <description>Default block replication.
  The actual number of replications can be specified when the file is created.
  The default is used if replication is not specified in create time.
  </description>
 </property>
 <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/usr/local/hadoop_store/hdfs/namenode</value>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/usr/local/hadoop_store/hdfs/datanode</value>
 </property>
 <property>
   <name>dfs.datanode.use.datanode.hostname</name>
   <value>false</value>
 </property>
 <property>
   <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
   <value>false</value>
 </property>
 <property>
   <name>dfs.permissions</name>
   <value>false</value>
 </property>

纱线站点

     <property>
         <name>yarn.nodemanager.aux-services</name>
         <value>mapreduce_shuffle</value>
         <description>shuffle service that needs to be set for Map Reduce to run 
 </description>
     </property>

     <property>
         <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
         <value>org.apache.hadoop.mapred.ShuffleHandler</value>
     </property>

在 yarn-env 和 hadoop-env 中,除了 HADOOP_CLASSPATH (无论我添加与否,它都不会改变任何东西......)

这是错误跟踪:

2015-04-25 23:29:25,143 致命 [main] org.apache.hadoop.mapred.YarnChild:运行子错误:java.lang.NoClassDefFoundError:org/apache/hadoop/hbase/HBaseConfiguration 在 apriori2$FrequentItemsReduce.reduce(apriori2.java:550) 在 apriori2$FrequentItemsReduce.reduce(apriori2.java:532) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:171) 在 org.apache.hadoop.mapred.Task$NewCombinerRunner.combine(Task.java:1651) 在 org.apache.hadoop.mapred.MapTask$MapOutputBuffer.sortAndSpill(MapTask.java:1611) 在 org.apache.hadoop.mapred.MapTask$MapOutputBuffer.flush(MapTask.java:1462) 在 org.apache.hadoop.mapred.MapTask$NewOutputCollector.close(MapTask.java:700) 在 org.apache.hadoop.mapred.MapTask.closeQuietly(MapTask.java:1990) 在 org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:774) 在 org.apache.hadoop.mapred.MapTask.run(MapTask.java:340) 在 org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.security.auth.Subject.doAs(Subject.java:415) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614) 在 org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)

非常感谢先生的每一个帮助。

【问题讨论】:

    标签: apache hadoop mapreduce hbase hadoop-yarn


    【解决方案1】:

    使用 Yarn,您需要使用 MapReduce 作业的类路径设置“yarn.application.classpath”属性。 “export HADOOP_CLASSPATH”不适用于 Yarn。

    【讨论】:

    • 我尝试将 yarn.application.classpath 设置为具有如此多路径的值(在 Hadoop 和 HBase 中)。运行作业后,退出代码(1)被抛出。
    • 你能提供堆栈跟踪吗?您需要确保所有目录都存在于“yarn.application.classpath”的值中
    • 我们需要设置哪个文件“yarn.application.classpath”??
    • 您可以将其添加到 yarn-site.xml 中,也可以在提交作业时使用 -Dyarn.application.classpath 选项指定此属性。
    猜你喜欢
    • 2017-10-31
    • 2017-12-20
    • 2021-05-25
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    相关资源
    最近更新 更多