我正在hadoop2集群的开发环境中使用yarn执行13个表Map连接。所有表连接都作为主表的左外部。总共有15个连接。
由于大多数小表都小于200-300 MB,所以我使用“replicated”来执行脚本代码。它执行得很快,但超过了95-99%。当我检查应用程序url时,2个reducer未能抛出错误,原因是“gc开销限制超出了applicationmaster杀死的容器。请求时杀死的容器。退出代码是143容器退出,退出代码为非零143”。
其他缩减器失败,错误在applicationmaster终止容器300秒后超时。请求终止容器。退出代码为143。。
2条答案
按热度按时间6ju8rftf1#
你可以直接在你的Pig里面调整值。
在应用程序url中,检查作业属性,并查看
可以通过一次将属性的值提高512来开始调整。但是,不要将mapreduce.task.io.sort.mb的值提高到756以上。
要直接从pig更改值,请在pig的顶部,在任何代码之前添加以下属性:
上面的属性适用于与您的数据集大小相似的数据集。
pkbketx92#
您需要通过设置
mapreduce.map.java.opts
以及mapreduce.map.memory.mb
. 在我的环境中,Yarn容器的最大尺寸是32gb,所以我添加了-Dmapreduce.map.java.opts=-Xmx30000m
以及-Dmapreduce.map.memory.mb=32000
启动流媒体jar或oozie时:否则你就得去掉mapjoin。在Hive里我靠
set auto.convert.join=FALSE;