最近公司从cdh转到了aws的emr 在使用hive上会有一些差别 在这里记录一下
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask
这个报错基本上都没有起mapreduce 因为没有applicationid所以查yarn日志是查不到的 只能去/var/hive下看日志 如果此时集群上没有其他任务在执行 congratulations 你可以在当前目录实时日志下查到你的报错 但是如果此时还有其他任务在执行 那就很难了。除了一份实时日志以外 还有很多带有日期的日志文件 每天生成前一天 which means日志会延迟一天。所以遇到这种情况有两种解决办法 一种是你明天再来查问题 另一种是再执行一次错误复现的时候赶紧去看实时日志的信息。
为了这个错我从网上找了不少参数试 set hive.execution.engine=tez; set map内存 reduce内存 但是我个人认为 很明显job刚起就挂了 mapreduce还没实行 set 这些内存没什么用吧 反正结果是果然没用
或者说在我目前遇到的情况来看 一般这个错都是因为并发执行的任务太多导致内存不足所致 等集群空闲的时候在执行一下或者修改一下任务的依赖 使并发的大任务少一些 maybe就解了
hive on tez的任务果然是需要加重试机制的。