Hadoop安装好之后使用jar运行mapreduce内置程序的时候报错

//20210309
写在前面:安装好hadoop之后,试着运行mapreduce内置的pi程序,发现报错,在此记录一下排除并修复bug的过程

正文

  • 问题起因:mapreduce运行内置pi程序的时候报出如下错误:

  • 一开始我以为是需要科xue上网,科xue上网之后问题并没有解决,然后我意识到一个问题,这个虚拟机是我今天刚刚打开的,并没有运行hadoop(因为远端有个服务器,这个也是使用ssh远程连接本地虚拟机的,所以误认为虚拟机一直在运行),使用jps一看果然啥都没有

  • 遂开启dfs,开启yarn,查看jps,hadoop运行正常

  • 再次运行pi程序,但是并没有如期正常运行,报出如下错误

  • 仔细看报错信息,有如下配置文件相关:

  • 遂在百度上查询该配置文件资料,定位到mapred-site.xml配置文件,说是要将yarn的路径加到配置文件里去,遂使用yarn classpath命令获取yarn路径

  • 由于远端使用的是cmd的openssh工具,所以无法复制,遂使用yarn classpath | cat > ~/temp.txt写入用户目录下的temp.txt文件中,然后将路径加入相应缺失的地方并加入mapred-site.xml配置文件中

  • 在此运行pi程序,发现运行成功

关于写入文件以及通道

  • linux中“|”的意思是通道,将前一个命令的输出作为输入提交给下一个命令
  • “>”的意思是将文本以覆盖形式写入文件,“>>”的意思是将文本以追加的方式写入文件,可以配合cat使用

以上
希望对大家有所帮助

原文地址:https://www.cnblogs.com/lavender-pansy/p/14508833.html