HADOOP2.0,Exception java.lang.NoClassDefFoundError: org/apache/hadoop/mapreduce/v2/app/MRAppMaster

一、问题运行yarn的MR程序,发现出现问题,报错:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/mapreduce/v2/app/MRAppMasterCaused by: java.lang.ClassNotFoundException: org.apache.hado
摘要由CSDN通过智能技术生成

一、问题

运行yarn的MR程序,发现出现问题,报错:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/mapreduce/v2/app/MRAppMaster
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.mapreduce.v2.app.MRAppMaster
	at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)

这个问题在hadoop-mapreduce-user邮件列表上面有人讨论过,地址: http://mail-archives.apache.org/mod_mbox/hadoop-mapreduce-user/201207.mbox/browser 不过不深入。

二、分析

这个问题,很明显一看就是类加载不到,我们肯定首先去看下这个类在哪里,在包hadoop-mapreduce-client-app-2.0.0-alpha.jar中,路径在$HADOOP_HOME/share/hadoop/mapreduce(在2.0版本中,后续我估计这个可能会调整)

这个我猜应该是classpath的问题,所以我很想弄到启动container的时候的参数。

我们知道启动是通过shell命令启动,在ContainerLaunch.java中,我最终调试发现了启动参数(下面的这段代码其实最后会写入到/tmp/nm-local-dir/nmPrivate/application_1350793073454_0005/container_1350793073454_0005_01_000001/launch_container.sh这样类似的文件中):

#!/bin/bash

export YARN_LOCAL_DIRS="/tmp/nm-local-
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值