+1 mit der Erklärung von Dell. Meiner Meinung nach sind Edge-Knoten in einem Hadoop-Cluster normalerweise Knoten, die für die Ausführung der clientseitigen Operationen eines Hadoop-Clusters verantwortlich sind. Normalerweise werden Randknoten von den Knoten getrennt, die Hadoop-Dienste wie HDFS, MapReduce usw. enthalten, hauptsächlich um Rechenressourcen getrennt zu halten. Für kleinere Cluster, die nur wenige Knoten haben, ist es üblich, Knoten zu sehen, die eine hybride Kombination von Rollen für Hauptdienste (JT, NN usw.), Nebendienste (TT, DN usw.) und Gateway-Dienste spielen.
Beachten Sie, dass das Ausführen von Master- und Slave-Hadoop-Diensten auf demselben Knoten keine ideale Konfiguration ist und Skalierungs- und Ressourcenprobleme verursachen kann, je nachdem, was gerade verwendet wird. Diese Art der Konfiguration wird normalerweise in einer kleinen Entwicklungsumgebung beobachtet.
Mit dieser sagte, hier einige Antworten auf Ihre Fragen gestellt:
1) Hat der Randknoten Teil des Clusters sein Der Randknoten muss nicht Teil des Clusters, aber wenn es sein befindet sich außerhalb des Clusters (dh es werden keine speziellen Hadoop-Service-Rollen ausgeführt), werden einige grundlegende Elemente wie Hadoop-Binärdateien und aktuelle Hadoop-Cluster-Konfigurationsdateien benötigt, um Jobs auf dem Cluster zu übergeben.
2) Welche Vorteile haben wir, wenn es innerhalb des Clusters ist? Je nachdem, welche Distribution verwendet wird, können Edge-Knoten innerhalb des Clusters für die zentrale Verwaltung aller Hadoop-Konfigurationseinträge auf den Clusterknoten verwendet werden, wodurch der Verwaltungsaufwand für die Aktualisierung der Konfigurationsdateien verringert wird. Normalerweise ist dies ein Eins-zu-viele-Ansatz, bei dem Konfigurationseinträge an einer Stelle aktualisiert und an alle (viele) Knoten im Cluster ausgegeben werden.
Wenn jedoch einer der Knoten innerhalb des Clusters auch als Edge-Knoten verwendet wird, gibt es CPU- und Speicherressourcen, die von den Clientoperationen verbraucht werden und die verfügbaren Ressourcen beeinträchtigen, die von den ausgeführten Hadoop-Diensten verwendet werden können dieser Knoten.
3) Speichert es irgendwelche Datenblöcke in hdfs? Wenn der Randknoten nicht mit einem DataNode-Dienst konfiguriert ist, werden keine Datenblöcke auf diesem Knoten gespeichert.
4) Sollte der Randknoten außerhalb des Clusters liegen? Wie oben erwähnt, kann es abhängig von der Cluster-Umgebung und dem Anwendungsfall sein; Einer der Gründe für die Konfiguration außerhalb des Clusters besteht darin, die Client-ausgeführten und Hadoop-Dienste getrennt zu halten.
Wenn Sie einen Randknoten separat halten, kann dieser Knoten die gesamten für die Hadoop-Verarbeitung verfügbaren Rechenressourcen nutzen.
Hoffe, das hilft!