Hadoop 如何监控每个容器的应用程序内存?
我正在寻找一种方法来监控纱线容器的内存使用情况 具体地说,给定一个应用程序id,如何获得一个图形,显示每个容器随时间的内存使用情况 主要目标是更好地满足纱线应用程序的内存分配要求(Spark/Map Reduce),以避免过度分配和群集资源浪费。一个次要目标是在开发作业和尝试选择合理的资源分配时能够调试内存问题 我们已经尝试使用,但它没有按容器分解度量 另一种方法是解析Hadoop 如何监控每个容器的应用程序内存?,hadoop,apache-spark,monitoring,yarn,Hadoop,Apache Spark,Monitoring,Yarn,我正在寻找一种方法来监控纱线容器的内存使用情况 具体地说,给定一个应用程序id,如何获得一个图形,显示每个容器随时间的内存使用情况 主要目标是更好地满足纱线应用程序的内存分配要求(Spark/Map Reduce),以避免过度分配和群集资源浪费。一个次要目标是在开发作业和尝试选择合理的资源分配时能够调试内存问题 我们已经尝试使用,但它没有按容器分解度量 另一种方法是解析hadoop纱线日志。这些日志包含如下消息: Memory usage of ProcessTree 57251 for con
hadoop纱线
日志。这些日志包含如下消息:
Memory usage of ProcessTree 57251 for container-id container_e116_1495951495692_35134_01_000001: 1.9 GB of 11 GB physical memory used; 14.4 GB of 23.1 GB virtual memory used
正确解析日志可以生成数据,这些数据可用于绘制随时间变化的内存使用图
这正是我们想要的,但有两个缺点: