我在服务器上运行 mapreduce 作业,但不断收到此错误:
Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143
Container is running beyond physical memory limits. Current usage: 1.0
GB of 1 GB physical memory used; 2.7 GB of 2.1 GB virtual memory used.
Killing container.
当然我已经阅读了所有可能的资源并且我知道我需要在这些文件中设置配置:mapred-site.xml\\yarn-site.xml
但我们的服务器不允许我覆盖这些属性,我想要一种在终端或我的 hadoop 程序配置中执行此操作的方法。
我用 hive 运行这个作业,我能够像这样覆盖这些属性:
set HADOOP_HEAPSIZE=4096;
set mapreduce.reduce.memory.mb = 4096;
set mapreduce.map.memory.mb = 4096;
set tez.am.resource.memory.mb=4096;
set yarn.app.mapreduce.am.resource.mb=4096;
但是当我编写一个 map reduce 程序而不是 hive 查询时,我该如何更改这些?
例如,如何在 shell 中导出 mapreduce.reduce.memory.mb?
最佳答案
您可能需要这样指定,以便为每个应用程序/作业添加配置参数集
export HADOOP_HEAPSIZE=4096
hadoop jar YOUR_JAR.jar ClassName -Dmapreduce.reduce.memory.mb=4096 -Dmapreduce.map.memory.mb=4096 -Dyarn.app.mapreduce.am.resource.mb=4096 /input /output
注意:将 YOUR_JAR.jar 替换为您的 Jar 并将 ClassName 替换为您的驱动程序类名
关于hadoop - 在没有 mapred-site.xml 的情况下设置 hadoop mapreduce 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53368411/