我在MacOS开发环境中使用Apache Hadoop 2.2.0。当尝试运行hadoop minicluster时,如apache docs中所述:
hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.2.0-tests.jar minicluster
我收到了错误
java.lang.NoClassDefFoundError:org / apache / hadoop / yarn / server / MiniYARNCluster 在org.apache.hadoop.mapreduce.MiniHadoopClusterManager.start(MiniHadoopClusterManager.java:170) 在org.apache.hadoop.mapreduce.MiniHadoopClusterManager.run(MiniHadoopClusterManager.java:129) 在 。 。 。 。 。 。 。
任何想法如何解决这个问题?
答案 0 :(得分:8)
看起来我找到了解决方案:默认情况下,包含MiniYARNCluster的jar文件不是Hadoop类路径的一部分,必须将其显式添加到HADOOP_CLASSPATH中。下面的代码段运行良好:
export HADOOP_CLASSPATH=./share/hadoop/yarn/test/hadoop-yarn-server-tests-2.2.0-tests.jar
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.2.0-tests.jar minicluster
答案 1 :(得分:2)
我知道这是一个老帖子,但我最近需要解决这个问题,并且无法找到完整的MR2和YARN测试解决方案,所以我想分享我发现的内容
http://www.lopakalogic.com/articles/hadoop-articles/hadoop-testing-with-minicluster/
希望它有助于某人