如何从 hadoop ResourceManager 获取内存使用指标

Posted

技术标签:

【中文标题】如何从 hadoop ResourceManager 获取内存使用指标【英文标题】:How to get the memory usage metrices from hadoop ResourceManager 【发布时间】:2018-08-07 06:25:12 【问题描述】:

我有一个在 Google 云中运行的 dataproc 集群,它有 3 个主节点和 40 个工作节点。我使用 hadoop ResourceManager 来监控应用程序和其他指标,如队列使用情况、内存使用情况、应用程序运行等。我无法获取命令来获取集群的内存使用情况,因为我使用下面的命令来获取 dfs 使用情况和其他指标。

hdfs 管理员报告

请告诉我从资源管理器获取 linux 服务器内存使用情况的命令,如下图所示

我还浏览了以下链接以获取更多详细信息,但这并没有帮助我获得想要的东西

https://hadoop.apache.org/docs/current/

【问题讨论】:

【参考方案1】:

我相信信息是通过 JMX 在 /jmx url 路径以及 Metrics API 公开的

如果你想要远程 JMX 访问,你可以通过 yarn-env.sh 文件启用它

export YARN_RESOURCEMANAGER_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=8001"

然后将 jconsole 指向资源管理器的 8001 端口,然后到处搜索你想要的值

【讨论】:

【参考方案2】:

如果监控(仪表板或提醒)是您的最终目标,我建议您研究 Stackdriver Monitoring。 Dataproc 与之集成,并提供了许多集群指标(包括 Yarn 和 HDFS)。

一次性,您可以:gcloud compute ssh my-cluster-m -c "hdfs admin -report"

您还可以通过描述您的集群从 clusterMetrics 字段中获取相同的指标。

【讨论】:

以上是关于如何从 hadoop ResourceManager 获取内存使用指标的主要内容,如果未能解决你的问题,请参考以下文章

hadoop 集群搭建-suse linux 11

yarn资源调度器

Yarn三种调度策略对比

如何使用devm_regulator_get处理错误

从hadoop1迁移到hadoop2后如何恢复hadoop Map reduce作业的性能

如何将数据从PostgreSQL导入Hadoop?