我正在尝试在Hadoop集群上运行MR作业。有一次我尝试成功了,但是从昨天开始我不能运行相同的命令,因为它找不到输入路径
这里是trace:
[esb99usr@SBT-IPO-078 ~]$ yarn jar /tmp/mihaylov-temp/MR.jar
ru.sbt.hadoop.mr.data.index.DayDataIndexStart -D ru.sbt.hadoop.mr.map.mb=3072 -D ru.sbt.hadoop.mr.reduce.count=8 -D ru.sbt.hadoop.mr.map.count=80 /nameservices/supercluster/esbLogs/year/2015/months/7/days/27/hrs/18/ /nameservices/supercluster/esbLogs/year/2015/months/7/days/27/sort/ 1440622800966 1440709200966
15/09/03 14:33:37 INFO client.RMProxy: Connecting to ResourceManager at SBT-IPO-077.ca.sbrf.ru/10.116.6.195:8032
15/09/03 14:33:38 INFO mapreduce.JobSubmitter: Cleaning up the staging area /nameservices/supercluster/user/esb99usr/.staging/job_1439318575767_0078
15/09/03 14:33:38 WARN security.UserGroupInformation: PriviledgedActionException as:esb99usr (auth:SIMPLE) cause:org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: viewfs://cluster16/nameservices/supercluster/esbLogs/year/2015/months/7/days/27/hrs/18
Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: viewfs://cluster16/nameservices/supercluster/esbLogs/year/2015/months/7/days/27/hrs/18
at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.singleThreadedListStatus(FileInputFormat.java:321)
..........
[esb99usr@SBT-IPO-078 ~]$ hdfs dfs -ls /nameservices/supercluster/esbLogs/year/2015/months/7/days/27/hrs/18/
Found 2 items
-rw-r--r-- 3 wasadmin supergroup 1417233459 2015-08-27 21:39 /nameservices/supercluster/esbLogs/year/2015/months/7/days/27/hrs/18/log1.seq
-rw-r--r-- 3 wasadmin supergroup 6020096 2015-08-27 21:39 /nameservices/supercluster/esbLogs/year/2015/months/7/days/27/hrs/18/log1.seq.filter
所以当我运行MR作业时,它声称输入路径不存在,但我可以通过hadoop dfs -ls /....
看到它。直到昨天,它一直工作得很好,没有证据表明集群已经关闭,Cloudera表示它已经启动,集群的健康状况良好。如何解决这个问题?
运行作业的命令为
]$ yarn jar /tmp/mihaylov-temp/MR.jar (Main Class Name) (input file path) (output directoru path)