Ich habe viel über Hadoop und Map-Reduce gelesen, die auf Maschinenclustern laufen. Weiß jemand, ob die Apache-Distribution auf einem SMP mit mehreren Kernen ausgeführt werden kann? Insbesondere können mehrere Map-Reduce-Prozesse auf derselben Maschine ausgeführt werden. Der Scheduler kümmert sich darum, sie über mehrere Kerne zu verteilen. Vielen Dank. - KG
Ja. Sie verfügen über mehrere Karten- und Slots-Slots in jeder Maschine, die vom RAM und der CPU bestimmt werden (jede JVM-Instanz benötigt standardmäßig 1 GB, so dass eine 8 GB-Maschine mit 16 Kernen noch 7 Task-Slots haben sollte)
von hadoop wiki
Verwenden Sie den Konfigurationsdrehknopf: mapred.tasktracker.map.tasks.maximum und mapred.tasktracker.reduce.tasks.maximum, um die Anzahl der zu steuern maps / reduziert gleichzeitig auf einem TaskTracker. Standardmäßig ist es ist auf 2 gesetzt, daher sieht man maximal 2 Karten und 2 reduziert sich bei a gegebene Instanz auf einem TaskTracker.
Sie können diese auf einer Task-Tracker-Basis setzen, um genau zu reflektieren Deine Hardware (d. h. setze diese auf höhere Nummern auf einem schärferen Tasktracker) usw.).
Für Apache Hadoop 2.7.3 war meine Erfahrung, dass die Aktivierung von YARN auch Multicore-Unterstützung ermöglicht. Hier ist eine einfache Anleitung zum Aktivieren von YARN an einem einzelnen Knoten:
Die Standardkonfiguration scheint ziemlich gut zu funktionieren. Wenn Sie Ihre Kernnutzung optimieren möchten, dann schauen Sie sich die Einstellung 'gam.scheduler.minimum-allocation-vcores' und 'gam.scheduler.maximum-allocation-vcores' in der Datei gam-site.xml an ( Ссылка )
Weitere Informationen zum Konfigurieren einer einfachen Hadoop-Sandbox mit Multicore-Unterstützung finden Sie hier: Ссылка
Sie können diese leichten MapReduce-Frameworks für Multicore-Computer verwenden.
Zum Beispiel
LeoTask: Ein leichtgewichtiges, produktives und zuverlässiges mapreduce Framework für Multicore-Computer