获取EMR集群的核心数量

时间:2017-10-01 14:28:11

标签: amazon-web-services apache-spark emr

我在我的emr集群中使用了3个r4.2x large实例,我的emr集群有8个cpu。我如何确定集群中可用的核心数量。我使用以下命令来确定:

grep cores /proc/cpuinfo

它说我每个CPU有1个核心。

对于spark ETL,最好使用R系列的AWS实例或C系列。上述命令也是确定集群可用内核的正确方法

1 个答案:

答案 0 :(得分:1)

EMR群集中的核心数量只是每个核心/任务实例的核心数乘以您正在使用的实例类型的核心数之和。所以在你的情况下它是:

3 instances * 8 cores (per r4.2xlarge) = 24 cores

我认为您对/proc/cpuinfo的内容感到困惑。如果你在没有使用内核的情况下查看它,你会看到提到的多个处理器。也许请查看:How to obtain the number of CPUs/cores in Linux from the command line?

请记住,这个CPU总和不一定是处理任务的CPU数量,因为这也取决于Hadoop / Spark的配置。

关于实例类型:选择哪种类型取决于您的工作负载。如果内存繁重的工作负载(通常是Spark作业),来自内存繁重R系列的EC2实例可能比来自CPU密集型C系列实例的实例更好。