Hadoop: Bindung mehrerer IP-Adressen an einen Cluster-NameNode

9

Ich habe einen Hadoop-Cluster mit vier Knoten auf Softlayer. Der Master (NameNode) hat eine öffentliche IP-Adresse für den externen Zugriff und eine private IP-Adresse für den Clusterzugriff. Die Slave-Knoten (Datenknoten) haben eine private IP-Adresse, die ich versuche, eine Verbindung zum Master herzustellen, ohne jedem Slave-Knoten öffentliche IP-Adressen zuweisen zu müssen.

Ich habe festgestellt, dass das Setzen von fs.defaultFS auf die öffentliche Adresse des NameNode externen Zugriff ermöglicht, außer dass der NameNode nur auf diese Adresse für eingehende Verbindungen hört, nicht die private Adresse. Daher erhalte ich in den Datanode-Protokollen ConnectionRefused-Ausnahmen, wenn sie versuchen, eine Verbindung mit der privaten IP-Adresse des NameNode herzustellen.

Ich dachte, die Lösung bestünde darin, sowohl die öffentliche als auch die private IP-Adresse auf den NameNode zu setzen, so dass der externe Zugriff erhalten bleibt und auch meinen Slave-Knoten eine Verbindung ermöglicht.

Gibt es also eine Möglichkeit, beide Adressen an den NameNode zu binden, so dass er beide abhört?

Bearbeiten: Hadoop-Version 2.4.1.

    
ikradex 05.08.2014, 09:17
quelle

1 Antwort

1

Der Fragesteller hat dies in seiner Frage als Antwort editiert:

  

Legen Sie in hdfs-site.xml den Wert von dfs.namenode.rpc-bind-host auf fest    0.0.0.0 und Hadoop hören sowohl privat als auch öffentlich zu   Netzwerkschnittstellen, die Fernzugriff und Datenzugriff ermöglichen.

    
Dennis Jaheruddin 31.07.2017 15:38
quelle