如何在hadoop纱线中获取容器cpu /内存使用情况

张强

我是hadoop / yarn的新手,在执行任务期间需要消耗容器资源。

当我在apache hadoop网站上查看doc时,上面写着“ nodemanager ...负责容器,监视其资源使用情况(cpu,内存,磁盘,网络),并将其报告给resourcemanager”。我的理解是,节点管理器将定期报告资源使用情况以及心跳。

当我看源代码时。在NodeStatusUpdaterImpl中,RegisterNodeManagerRequest中包含了totalResource。我认为在初始化nodemanager时会调用它,并告诉RM有关已配置的资源。但是在NodeHeartbeatRequest中,nodestatus仅具有容器ID,而没有CPU内存等。

因此,您能否帮我澄清一下容器使用的cpu内存是否会报告给RM?我如何获得此类数据?

非常感谢!

没有弓

这是Container Monitor的实现:

hadoop-2.6.0-src/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/monitor/ContainersMonitorImpl.java

有一些方法可以检查容器是否超出限制,这isProcessTreeOverLimit将向您展示纱线如何获取特定容器(进程)的内存使用量。我不确定是否可以使用API​​获取这些信息。但是你可以看到这个文件

hadoop-2.6.0-src/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/ProcfsBasedProcessTree.java

它显示了Yarn如何获取内存使用情况:中的跟踪进程文件/proc答案将为您提供命令。我认为可以在不使用Yarn API的情况下添加某些代码来获取内存使用情况(我希望它也具有这些API)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Docker容器的内存使用情况

来自分类Dev

获取线程的内存使用情况

来自分类Dev

如何监视内存使用情况?

来自分类Dev

如何监视内存使用情况?

来自分类Dev

如何记录内存使用情况?

来自分类Dev

LibGdx中的内存使用情况

来自分类Dev

javaFx中的内存使用情况

来自分类Dev

Windows中的内存使用情况

来自分类Dev

如何在AKS中查询每个容器的CPU和内存使用情况?

来自分类Dev

如何在AKS中查询每个容器的CPU和内存使用情况?

来自分类Dev

如何记录Docker容器的峰值内存使用情况?

来自分类Dev

如何监视单个进程的CPU /内存使用情况?

来自分类Dev

在Go 1.3.1中获取可变的内存使用情况

来自分类Dev

在 Varnish 中获取每个域的内存使用情况

来自分类Dev

如何使用guppy解释Pythone内存使用情况?

来自分类Dev

如何显示Netbeans中的内存使用情况?

来自分类Dev

文件javascript的CPU和内存使用情况

来自分类Dev

systemctl状态未显示CPU /内存使用情况?

来自分类Dev

监视CPU和内存使用情况的程序

来自分类Dev

获取进程与总内存使用情况

来自分类Dev

获取CUDA上下文的内存使用情况

来自分类Dev

获取tmux会话的当前内存使用情况

来自分类Dev

Pympler获取对象的内存使用情况

来自分类Dev

获取应用程序池的内存使用情况

来自分类Dev

/ usr / bin / time如何测量内存使用情况?

来自分类Dev

如何解释顶部/顶部内存使用情况

来自分类Dev

如何获得特定进程名称的内存使用情况?

来自分类Dev

如何查看Play框架的JVM内存使用情况

来自分类Dev

Landscape如何计算内存使用情况?