ERROR:Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster

问题场景

我在学习尚硅谷的Hadoop课程的群起集群(p31)这一节时,在配置好core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml这四个文件后,启动集群并运行wordcount样例程序

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output

结果运行报错
Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
在这里插入图片描述

解决方案

方案1
参考:https://blog.csdn.net/qq_41684957/article/details/81710190
参照这个方案添加类的路径确实可以解决
方案2
但是我后来想了一下,我前面在配置yarn-site.xml已经配置了环境变量,而且老师的视频中是可以成功运行的,为什么我这里还要额外再配置类的路径才可以呢,大概率是复制配置信息的时候出了问题,仔细观察yarn-site.xml后果然发现环境变量中间多了两个换行符,导致环境变量无法正常读取,于是就出现了前面找不到类的错误。
在这里插入图片描述
去掉这两个换行符后保存退出,再将yarn-site.xml分发同步到所有机器,然后重启集群,再运行wordcount就可以成功运行了。

由此得出一个教训:如果需要在配置文件中粘贴比较长的内容,最好先将命令行窗口开全屏,这样就可以轻易发现复制的内容中间是否有暗藏的换行符或空格,特别是那些内容连续超过一行的

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值