Apache 含纱线的NoClassDef-HBase
我知道这是一个备受关注的话题。尽管如此,在我深入挖掘了所有的主题之后,我发现他们中的大多数都在谈论类路径,我还是无法解决我的问题 我找到并尝试的主题示例: 我在Ubuntu 14.04上使用Hadoop 2.5.1和HBase 0.98.11 我设置了伪分布式模式,并成功地使用hbase运行hadoop。在我想要设置完全分布式模式之后,作业会失败,并出现NoClassDefFound错误。我尝试将export-HADOOP\u CLASSPATH=/usr/local/hbase-0.98.11-hadoop2/bin/hbase CLASSPATH添加到HADOOP-env中,但仍然不起作用 我发现的一个通知是,如果我评论Apache 含纱线的NoClassDef-HBase,apache,hadoop,mapreduce,hbase,yarn,Apache,Hadoop,Mapreduce,Hbase,Yarn,我知道这是一个备受关注的话题。尽管如此,在我深入挖掘了所有的主题之后,我发现他们中的大多数都在谈论类路径,我还是无法解决我的问题 我找到并尝试的主题示例: 我在Ubuntu 14.04上使用Hadoop 2.5.1和HBase 0.98.11 我设置了伪分布式模式,并成功地使用hbase运行hadoop。在我想要设置完全分布式模式之后,作业会失败,并出现NoClassDefFound错误。我尝试将export-HADOOP\u CLASSPATH=/usr/local/hbase-0.98.11
<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>
在Thread env和hadoop env中,除了hadoop_类路径之外,其他都是默认的,即使我添加或不添加它,它也不会改变任何东西
以下是错误跟踪:
2015-04-25 23:29:25143致命[main]org.apache.hadoop.mapred.YarnChild:运行child时出错:java.lang.NoClassDefFoundError:org/apache/hadoop/hbase/HBaseConfiguration
在4月2日$FrequentItemsReduce.ReduceAppriori2.java:550
在4月2日$FrequentItemsReduce.ReduceAppriori2.java:532
位于org.apache.hadoop.mapreduce.Reducer.runReducer.java:171
位于org.apache.hadoop.mapred.Task$NewCombinerRunner.combineTask.java:1651
位于org.apache.hadoop.mapred.MapTask$MapOutputBuffer.sortAndSpillMapTask.java:1611
位于org.apache.hadoop.mapred.MapTask$MapOutputBuffer.flushMapTask.java:1462
位于org.apache.hadoop.mapred.MapTask$NewOutputCollector.closeMapTask.java:700
位于org.apache.hadoop.mapred.MapTask.closequietlymatask.java:1990
位于org.apache.hadoop.mapred.MapTask.runNewMapperMapTask.java:774
位于org.apache.hadoop.mapred.MapTask.runMapTask.java:340
位于org.apache.hadoop.mapred.YarnChild$2.runYarnChild.java:168
位于java.security.AccessController.doPrivilegeEdNative方法
位于javax.security.auth.Subject.doassObject.java:415
位于org.apache.hadoop.security.UserGroupInformation.doasurgroupinformation.java:1614
位于org.apache.hadoop.mapred.YarnChild.mainYarnChild.java:163
非常感谢您的帮助,先生。对于Thread,您需要为MapReduce作业的类路径设置Thread.application.classpath属性。导出HADOOP\u类路径无法与Thread一起使用。我尝试将Thread.application.CLASSPATH设置为HADOOP和HBase中这么多路径的值。运行作业后,将抛出退出代码1。您可以提供堆栈跟踪吗?您需要确保所有目录都存在于warn.application.classpath的值中我们需要设置warn.application.classpath的文件??您可以将其添加到warn-site.xml中,也可以在提交作业时使用-Dyarn.application.classpath选项指定此属性。