java - 将垃圾收集日志保存到 ${yarn.nodemanager.log-dirs}/application_${appid}/container_${contid} 中,用于 Hadoop Yarn 上的映射器和缩减器

标签 java hadoop mapreduce garbage-collection hadoop-yarn

我正在尝试为我的映射器和缩减器记录垃圾收集指标。但是我无法让日志进入路径:
${yarn.nodemanager.log-dirs}/application_${appid}/container_${contid}

这是我的具有相关属性的 mapred-site.xml 的样子:

<property> <name>mapreduce.map.java.opts</name> <value>-Xloggc:${yarn.nodemanager.log-dirs}/application_${appid}/container_${contid}/gc-@taskid@.log -verbose:gc -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintCommandLineFlags</value> </property> <property> <name>mapreduce.reduce.java.opts</name> <value>-Xloggc:${yarn.nodemanager.log-dirs}/application_${appid}/container_${contid}/gc-@taskid@.log -verbose:gc -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintCommandLineFlags</value> </property>

但尽管进行了上述配置,日志仍未出现在正确的位置。非常感谢对此问题的任何见解。

最佳答案

  1. 运行ps xww或检查 /proc/<pid>/cmdline查看标志是否与预期值一起传递给 JVM
  2. 检查目录是否存在

关于java - 将垃圾收集日志保存到 ${yarn.nodemanager.log-dirs}/application_${appid}/container_${contid} 中,用于 Hadoop Yarn 上的映射器和缩减器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39278353/

相关文章:

java - Eclipse 插件的自定义启动画面(非 RCP)

hadoop - Hadoop Reducer 是如何工作的?

java - Spark 数据集 : Reduce, 数据集的 Agg、Group 或 GroupByKey <Tuple2> Java

java - Hadoop MapReduce : Reduce Method not called

java - 文本中的常用词

java - 在 MongoDB Map Reduce 函数中查询

java - Java 查询中的 SQL 变量

java - gradle 测试文件的常规文件系统路径

java - 在 JMM 的 happens-before 关系中重新排序

amazon-web-services - Hadoop配置属性