exception : hdfs file not find
Caused by: org.apache.hadoop.ipc.RemoteException(java.io.FileNotFoundException): File does not exist: /user/hive/warehouse/cproject.db/cplatform_map_today/part-00176
但是 hdfs dfs -ls 的时候发现居然有这个文件,肯定让你大惑不解。
看看代码,也觉得没问题,之前都是运行ok的,为啥现在就出错。
再看看怎么还有一个相同的任务在运行?好吧还是思考下!
定时任务出现的一个坑 :
开始任务五分钟执行完毕,定时任务每隔十分钟一次,开始处理时间是很充足的,但是当数据量激增,导致任务delay严重,大概17分钟才能运行完毕,意味着下一次的定时任务已经起来运行了,然后drop掉了中间表,而此时上个任务正在读物该中间表,悲剧发生了,明明好好的文件怎么就说文件不存在呢。
结论:
定时任务。一定要做监控,根据实际情况进行排查错误。
其他的错误,比如定时运行一个shell文件,发现怎么没有结果。不可能吧,明明直接运行是ok的。决定测试下,发现任务确实执行了,但是该shell调用了其他的文件,不过是采用相对路使用的,定时任务执行的shell文件可不会认你指定的路径,而是以家目录相对位置进行文件查找。悲剧就在这个地方,不明显的错误导致任务失败。