2017-10-01 7 views
0

Ich verwende 3 Instanzen von r4.2x groß für meinen Slave-Knoten in meinem EMR-Cluster, der 8 CPU hat. Wie ermittle ich die Anzahl der Kerne im Cluster. Ich habe Folgendes verwendet Befehl, dies zu bestimmen:Anzahl der Kerne für EMR-Cluster erhalten

grep cores /proc/cpuinfo 

Es sagt ich habe 1 Kern pro CPU.

Für Funken ETL-Job ist es besser, R-Serie von AWS-Instanz zu verwenden oder C Serie .Auch ist der obige Befehl der richtige Weg, um die Kerne für den Cluster

Antwort

1

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.

+0

Was ist der beste Weg zu bestimmen, ob Spark etl Job cpu oder Speicher schwer ist. – baiduXiu

Verwandte Themen