如何更改mapreduce/hive作业中的物理内存?
我正在尝试在一个包含40个工作节点和单个主节点的EMR集群上运行配置单元如何更改mapreduce/hive作业中的物理内存?,hive,mapreduce,amazon-emr,Hive,Mapreduce,Amazon Emr,我正在尝试在一个包含40个工作节点和单个主节点的EMR集群上运行配置单元INSERT OVERWRITE查询 但是,在运行INSERT OVERWRITE查询时,只要到达 Stage-1 map=100%,reduce=100%,累计CPU 180529.86秒 在这种状态下,我得到以下错误: Ended Job = job_1599289114675_0001 with errors Diagnostic Messages for this Task: Container [pid=9944,
INSERT OVERWRITE
查询
但是,在运行INSERT OVERWRITE
查询时,只要到达Stage-1 map=100%,reduce=100%,累计CPU 180529.86秒
在这种状态下,我得到以下错误:
Ended Job = job_1599289114675_0001 with errors
Diagnostic Messages for this Task:
Container [pid=9944,containerID=container_1599289114675_0001_01_041995] is running beyond physical memory limits. Current usage: 1.5 GB of 1.5 GB physical memory used; 3.2 GB of 7.5 GB virtual memory used. Killing container.
Dump of the process-tree for container_1599289114675_0001_01_041995 :
我不确定如何更改1.5 GB的物理内存号。在我的配置中,我看不到这样的数字,我也不明白1.5 GB的数字是如何计算出来的。我甚至尝试将
“纱线.节点管理器.vmem pmem比率”:“5”
更改为5,正如一些论坛建议的那样。但不管这种变化,我仍然得到了错误
这是作业的开始方式:
Number of reduce tasks not specified. Estimated from input data size: 942
Hadoop job information for Stage-1: number of mappers: 910; number of reducers: 942
这就是我的集群的外观。我无法理解必须更改哪些设置才能避免出现此问题。这也可能是由于Tez设置的原因吗?虽然我没有把它当作引擎
如果您有任何建议,我们将不胜感激。在打开配置单元控制台时,请将以下内容附加到命令中
--hiveconf mapreduce.map.memory.mb=8192 --hiveconf mapreduce.reduce.memory.mb=8192 --hiveconf mapreduce.map.java.opts=-Xmx7600M
如果仍然出现Java堆错误,请尝试增加到更高的值,但请确保mapreduce.map.Java.opts不超过mapreduce.map.memory.mb