simple-yarn-app不能启动的解决方案 && 查看运行结果
开始运行是这样的,args[1]是用一个Integer来接收的,又不知道/bin/date的作用,就准备把'/bin/date'删除
再次运行结果如图所示,application任务 FAILED了。
找了半天上gitHub点击打开链接上看到了这个回答
然后在args[2]上加了地址前缀"hdfs://",终于可以运行了。
----------------------------------------------------------------------------------------------------------------
然后不知道里面的任务是否运行成功/ 找不到运行结果
发现传入的 args[0] 应该是一个shell命令 , /bin/date 是打印当前时间的shell脚本。
则运行命令改为:hadoop jar simpleapp.jar /bin/date 1 hdfs:///apps/simple/simpleapp.jar
但是在8088端口下的Application 中的 Logs中找不到 /bin/date 命令的输出。。。
通过查看Application的执行过程:
1.RM分配一个Container 运行 ApplicationMaster
2.ApplicationMaster 向RM 申请Container 运行命令
可以发现ApplicationMaster 和 运行的命令 不是一个 Container , stdout文件自然也不同
去寻找Container 的logs:
进入Local logs
进入userlogs/
进入最后一个文件夹
我们发现有两个Container文件夹,第一个是ApplicationMaster 的内容,第二个是我们执行的任务内容,我们进入第二个
查看stdout文件:
可以看到我们的/bin/date 命令的执行结果。。 搞定