Problem
Every time a job is executed an error occurs:
WARN [<timestamp>] [ConcurrentJobExecutor-0] (DefaultMrJobClient.java:185) - attempt_<id>: Container [pid=<pid>,containerID=container_<id>] is running beyond physical memory limits. Current usage: <value> GB of <value> GB physical memory used.
TEZ jobs may fail with Exit code 143.
Cause
Datameer version 5.6 uses new custom properties as an abstraction layer for several Execution Frameworks.
It may be necessary to configure memory related properties. Our default settings currently are:
das.job.map-task.memory=2048
das.job.reduce-task.memory=2048
das.job.application-manager.memory=2048
Solution
If you receive a container memory error, slightly increase the following in gradual steps
das.job.map-task.memory=3072
das.job.reduce-task.memory=3072
das.job.application-manager.memory=4096
to
das.job.map-task.memory=4096
das.job.reduce-task.memory=4096
das.job.application-manager.memory=6144
To determine memory configuration settings, look into distribution specific documentation from Cloudera or Hortonworks.
Remove the execution framework specific parameters from Datameer's configuration. I.e.:
mapred.map.child.java.opts=-Xmx<value>m
mapred.reduce.child.java.opts=-Xmx<value>m
mapred.job.map.memory.mb=<value>
mapred.job.reduce.memory.mb=<value>
Further Information
If you are using Cloudera have a look into specific Snappy compression configurations and properties in general.
Comments
0 comments
Please sign in to leave a comment.