容器正在超出虚拟内存限制运行

6qfn3psc  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(585)

当我执行rhadoop示例时,会出现以下错误。
正在超出虚拟内存限制运行。当前使用情况:使用121.2 mb的1 gb物理内存;已使用2.1 gb的2.1 gb虚拟内存。杀人容器。
按要求杀死集装箱。出口代码是143
集装箱以非零出口代码143退出
hadoop流失败,错误代码为1
我该怎么修?
我的hadoop设置。
mapred-site.xml文件

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

yarn-site.xml文件

<configuration>

<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
                <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
                <name>yarn.nodemanager.local-dirs</name>
                <value>/usr/local/hadoop-2.7.3/data/yarn/nm-local-dir</value>
        </property>
        <property>
                <name>yarn.resourcemanager.fs.state-store.uri</name>
                <value>/usr/local/hadoop-2.7.3/data/yarn/system/rmstore</value>
        </property>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>localhost</value>
        </property>
        <property>
                <name>yarn.web-proxy.address</name>
                <value>0.0.0.0:8089</value>
        </property>
</configuration>
chhkpiq4

chhkpiq41#

我参考了下面的网站。http://crazyadmins.com/tag/tuning-yarn-to-get-maximum-performance/
然后我知道我可以改变mapreduce的内存分配。
我更改了mapred-site.xml

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.map.memory.mb</name>
                <value>2000</value>
        </property>
        <property>
                <name>mapreduce.reduce.memory.mb</name>
                <value>2000</value>
        </property>
        <property>
                <name>mapreduce.map.java.opts</name>
                <value>1600</value>
        </property>
        <property>
                <name>mapreduce.reduce.java.opts</name>
                <value>1600</value>
        </property>
</configuration>
eqzww0vc

eqzww0vc2#

我在对yarn cluster运行spark应用程序时遇到了几乎相同的错误。
“容器[pid=791,containerid=container\u 1499942756442\u 0001\u 02\u000001]正在超出虚拟内存限制运行。当前使用量:使用135.4 mb 1 gb物理内存;已使用2.1 gb的2.1 gb虚拟内存。“杀死容器。”
我通过在文件yarn-site.xml中禁用虚拟内存检查来解决这个问题

<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>

就我而言,这一套就足够了。

相关问题