第一个WordCount程序竟然跑失败了,:(。
配置好系统环境之后,准备开始跑第一个WordCount任务,jps后,各机器的输出如下:
Master:
- NameNode
- DataNode
- ResourceManager
- NodeManager
- jobHistoryServer
- jps
Node1:
- DataNode
- NodeManager
Node2:
- DataNode
- NodeManager
服务全都正常,于是开始执行WordCount,
1 | ./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(就是你的错误中的那个中文:错误: 找不到或无法加载主类
成功解决 :)