如何从笔记本正确检查 AWS EMR 集群(master 和 cores)的资源使用情况

How to properly check resource usage of AWS EMR cluster(master and cores) from notebook

这是我的集群详细信息:

Master : Running 1 m4.xlarge
Core : Running 3 m4.xlarge
Task : --
Cluster scaling: Not enabled

而且我正在用notebook练习pyspark。我想知道资源是如何被利用的,以评估资源是否未被充分利用或不足以完成我的任务。其中一部分,在检查 RAM/memory 用法时,这是我从终端得到的:

notebook@ip-xxx-xxx-xxx-xxx ~$ free -h
      total used free shared buff/cache available
Mem:  1.9G  456M 759M 72K    741M       1.4G
Swap: 0B    0B   0B

m4.xlarge的每个实例都带有 16GB 内存。发生了什么,为什么只显示两个 16GB 的演出?以及如何正确了解我的 CPU、内存和存储空间有多少实际被使用? (是的,为了降低成本!!)

如果您想检查内存和 CPU 利用率,您可以使用实例 ID 在 CloudWatch 中进行检查。

  • 获取节点的实例id(硬件->实例组->实例)。
    您可以获得每个节点的 CPU、内存、IO 的详细指标。

另一个使用资源管理器的选项UI (YARN)。默认 url -> http://master-node-ip:8088.

您可以获得作业级别和节点级别的指标。

要开始降低成本,您可以使用 m5 或 m6g 实例,也可以考虑使用 spot 实例。此外,您还可以在 EMR 控制台的监控选项卡中使用指标。容器挂起图是开始监控的好方法。如果您 dpn 没有任何待处理的容器,并且您的执行程序中没有任务 运行,那么您就是在浪费资源 (CPU).