我在命令执行结束时收到了 Done
的响应,但也得到了响应: There are 4 pending tasks possibly being run by other workers
.
每当执行到达 MapReduce
时,它映射到100%然后降低到4%然后中断并抱怨Container运行超出虚拟内存限制 .
我尝试编辑"mapred-site.xml"和"yarn-site.xml"文件以将特定内存分配给作业处理并再次运行作业但是当它到达 MapReduce
时,我仍然收到此Container错误:
exitCode:143由于:Container [pid = 30255,containerID = container_1467369594931
02_000001]超出虚拟内存限制 . 当前用法:使用205.4 MB的1 GB物理内存;使用3.0 GB的2.1 GB虚拟内存 . 杀死容器 .
还有一个HadoopJobError:
HadoopJobError :('流媒体作业失败,退出代码为1.此外,未找到跟踪网址 . ','packageJobJar:[/var/lib/analytics-tasks/analyticstack/venv/local/lib/python2.7/site-packages /luigi/mrrunner.py,/tmp/tmpdE5zuW/packages.tar,/tmp/tmpdE5zuW/job-instance.pickle,/ tmp / hadoop-hadoop / hadoop-unjar4084911391400860326 /] [] /tmp/streamjob4527588275110250460.jar tmpDir = null \ n','16 / 07/01 05:40:55
请有没有人有可能的解决方案/方法来帮助解决这个问题 .
1 回答
这是一个配置不当的
mapred-site.xml
.ResourceManager
可用的资源在yarn-site.xml
中给出 . 基于可用的资源,您应该在mapred-site.xml
中为每个mapper / reducer容器分配可用资源 . 我在猜测 - 在mapred-site.xml
中你给mapreduce.reduce.memory.mb
小于yarn-site.xml
中的yarn.scheduler.minimum.allocation.mb
值 . 另请检查yarn-site.xml
中的虚拟和物理内存比率(yarn.nodemanager.vmem-pmem-ratio
) . 并且请注意映射器/缩减器堆大小应限制为小于分配给其容器的内存 .