Scott's Blog

学则不固, 知则不惑

0%

运行 Hadoop WordCount 出错

第一个WordCount程序竟然跑失败了,:(。

配置好系统环境之后,准备开始跑第一个WordCount任务,jps后,各机器的输出如下:

Master:

  • NameNode
  • DataNode
  • ResourceManager
  • NodeManager
  • jobHistoryServer
  • jps

Node1:

  • DataNode
  • NodeManager

Node2:

  • DataNode
  • NodeManager

服务全都正常,于是开始执行WordCount,

1
2
./bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0.jar wordcount /user/master/data/wc.input /user/master/data/result

失败,提示: Exception from container launch, pre launch.err,去logs里面看,也没什么异常。

Google了一圈,没找到什么资料,去yarn的追踪界面,发现一个异常,找不到或无法加载主类,****。

于是怀疑是路径的问题,马上cd到bin目录下,

执行Hadoop Classpath,获取一个输出,并将该输出内容设置为Yarn-siet.xml 中Yarn.application.classpath的值。

查了一下资料,发现,

这个配置为map、reduce task指定其所需要的hadoop包存在与本地的什么位置,以便在task启动时,能根据该配置找到所需要的hadoop相关class。 如果配置错误,就会class not found(就是你的错误中的那个中文:错误: 找不到或无法加载主类

成功解决 :)