Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 如何监控每个容器的应用程序内存?_Hadoop_Apache Spark_Monitoring_Yarn - Fatal编程技术网

Hadoop 如何监控每个容器的应用程序内存?

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

我正在寻找一种方法来监控纱线容器的内存使用情况

具体地说,给定一个应用程序id,如何获得一个图形,显示每个容器随时间的内存使用情况

主要目标是更好地满足纱线应用程序的内存分配要求(Spark/Map Reduce),以避免过度分配和群集资源浪费。一个次要目标是在开发作业和尝试选择合理的资源分配时能够调试内存问题

我们已经尝试使用,但它没有按容器分解度量

另一种方法是解析
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
正确解析日志可以生成数据,这些数据可用于绘制随时间变化的内存使用图

这正是我们想要的,但有两个缺点:

  • 它涉及读取人类可读的日志行并将其解析为数字数据。我们希望避免这种情况
  • 如果这些数据可以以其他方式使用,我们希望它能提供更多我们将来可能感兴趣的信息。我们不想把时间花在解析日志上,只是为了意识到我们需要其他东西
  • 有没有其他方法可以提取这些指标,要么插入现有的生产者,要么编写一个简单的监听器

    也许是另一种方法