hive count(*)问题处理

现象:在Hive 中执行select语句,在生产环境正常,而测试环境select count(*) ,并且测试环境中直接非聚合select  语句也正常

处理:在控制错误非常简单,直接返回2错误代码。到yarn 资源管理器中查看,好像资源不足的原因 。开始想到hive 参数,对生产环境和测试环境的hive 配置文件进行对比,没有发现异常。接着考虑的yarn 资源分配的问题,查看yarn 资源配置文件,对比2个环境的yarn配置文件。发现 yarn.scheduler.maximum-allocation-mb 这个参数4096,而生产环境是8192,调整后重启yarn 系统,问题得以解决。后来继续分析,因为测试环境的yarn.scheduler.maximum-allocation-mb 大于mapreduce 文件中mapreduce.reduce.memory.mb参数(5120)。这个才是问题根本原因。


参考资料:Yarn 内存分配管理机制及相关参数配置

你可能感兴趣的:(hadoop)