apache - NoClassDefFoundError HBase与YARN

标签 apache hadoop mapreduce hbase yarn

我知道这是很多问题的主题之一。在深入研究了所有可以找到的主题之后(大多数都在谈论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>

yarn 现场
     <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 FATAL [main] org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration at apriori2$FrequentItemsReduce.reduce(apriori2.java:550) at apriori2$FrequentItemsReduce.reduce(apriori2.java:532) at org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:171) at org.apache.hadoop.mapred.Task$NewCombinerRunner.combine(Task.java:1651) at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.sortAndSpill(MapTask.java:1611) at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.flush(MapTask.java:1462) at org.apache.hadoop.mapred.MapTask$NewOutputCollector.close(MapTask.java:700) at org.apache.hadoop.mapred.MapTask.closeQuietly(MapTask.java:1990) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:774) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:340) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168) 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:1614) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)



先生,非常感谢您的帮助。

最佳答案

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

关于apache - NoClassDefFoundError HBase与YARN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29868039/

相关文章:

php - 编译后未创建 libphp5.so 且未创建前缀目录

hadoop - 使用 WebHCat 访问/templeton/v1/jobs 时出现错误 500

python - PySpark 和访问 HDFS

java - 如何在安装了 Apache Tomcat 的 UNIX 机器上安装 PHP

node.js - 在 Electron 应用程序中以 root 身份运行 Node 命令

apache - 如何将Word文档导入Elastic Search

hadoop - 点击流数据分析

hadoop - 我想开发一个映射归约逻辑以从输入文件中查找句子计数

hadoop - 作业提交但 map 缩小无法正常工作

javascript - 对象字段上的 MongoDB Map Reduce