Die Anzahl der Kerne in Ihren EMR-Cluster zu bestimmen, ist einfach die Summe der Kerne pro Kern/Aufgabeninstanz multipliziert mit den Kernen des verwendeten Instanztyps. Also in Ihrem Fall würde es sein:
3 instances * 8 cores (per r4.2xlarge) = 24 cores
Ich nehme an, Sie durch den Inhalt des /proc/cpuinfo
verwirrt sind. Wenn Sie es betrachten, ohne nach Kernen zu suchen, werden mehrere Prozessoren erwähnt. Vielleicht auschecken: How to obtain the number of CPUs/cores in Linux from the command line?
Denken Sie daran, dass diese Summe von CPUs nicht unbedingt die Anzahl der CPUs ist, die an Ihren Aufgaben arbeiten, da dies auch von der Konfiguration von Hadoop/Spark abhängt.
Zu den Instanztypen: Welcher Typ ausgewählt werden muss, hängt von Ihrer Arbeitslast ab. Wenn es sich um eine speicherintensive Arbeitslast handelt (wie Spark-Jobs normalerweise), sind EC2-Instanzen aus den speicherlastigen R-Familien wahrscheinlich eine bessere Wahl als Instanzen aus den CPU-schweren C-Familien von Instanzen.
Was ist der beste Weg zu bestimmen, ob Spark etl Job cpu oder Speicher schwer ist. – baiduXiu