0

我在 MacOS 开发环境中使用 Apache Hadoop 2.2.0。当尝试按照 apache 文档中的描述运行 hadoop minicluster 时:

hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.2.0-tests.jar  minicluster

我收到错误

java.lang.NoClassDefFoundError: org.apache.hadoop.mapreduce.MiniHadoopClusterManager.start(MiniHadoopClusterManager.java:170) 上的 org/apache/hadoop/yarn/server/MiniYARNCluster org.apache.hadoop.mapreduce.MiniHadoopClusterManager.run(MiniHadoopClusterManager .java:129) 在 . . . . . . .

任何想法如何解决这个问题?

4

2 回答 2

9

看起来我找到了解决方案:默认情况下,包含 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
于 2013-11-27T18:01:41.983 回答
2

我知道这是一篇旧帖子,但我最近需要解决这个问题,但找不到 MR2 和 YARN 测试的完整解决方案,所以我想分享我的发现

http://www.lopakalogic.com/articles/hadoop-articles/hadoop-testing-with-minicluster/

希望它可以帮助某人

于 2015-05-25T19:28:35.603 回答