2016-05-12 5 views
0

Ich versuche, einen Mesos-Cluster auf zwei Rechnern auszuführen. Einer ist ein Server, den ich vermiete (wir nennen ihn S1), und der andere ist eine Maschine, die in meinem Haus läuft (S2). Die Mesos-Slaves und -Master laufen in Docker-Containern.Mesos-Bind-Fehler: Die angeforderte Adresse kann nicht zugewiesen werden [99]

Zuerst stieß ich auf diesen Fehler: https://github.com/mesos/chronos/issues/193. Ich folgte den Ratschlägen in diesem Beitrag (indem Sie entweder LIBPROCESS_IP oder MESOS_IP). Das Hinzufügen einer dieser Umgebungsvariablen verursacht diesen Fehler:

F0512 08:48:55.437530  1 process.cpp:889] Failed to initialize: Failed to bind on <ip>:<port>: Cannot assign requested address: Cannot assign requested address [99] 

Ich dachte, es verursacht wurde, weil der Docker Behälter IP-Adresse war 172.17.0.1 und nicht die S1 oder S2 IP. Ich habe --net=host im docker run-Befehl hinzugefügt. Es hat den Fehler auf S1 behoben, aber nicht auf S2.

Ich denke, es ist, weil S2 eine lokale IP in meinem Netzwerk hat (192.168.0.16), und Mesos nicht an meine Router-IP binden kann.

Gibt es eine Möglichkeit, Mesos mit dieser Konfiguration arbeiten zu lassen, oder brauche ich eine Maschine mit einer eigenen IP-Adresse?

Antwort

1

Obwohl dies keine ideale Konfiguration zu sein scheint, haben Sie möglicherweise erfolgreich eine Portweiterleitung auf Ihrem Router hinzugefügt (z. B. Port 5050 und 5051) und verwenden das Befehlszeilenflag --advertise_ip beim Starten des Masters/Slaves Maschine in Ihrem Haus.

IP-Adresse angekündigt, um diese Mesos Master/Slave zu erreichen. Der Master/Slave ist nicht an diese IP-Adresse gebunden. Diese IP-Adresse kann jedoch für den Zugriff auf diesen Master/Slave verwendet werden.

Siehe

+0

ich diesen Parameter versucht hatte, aber aus irgendeinem Grund hatte ich Fehler mit ihm. Habe es ausprobiert und ich kann einen Master starten, der korrekt mit Zookeeper kommuniziert. Es erkennt jedoch keine Slaves. Der Sklave sieht jedoch den Meister. In den Protokollen der Slaves sehen wir 'Neuer Master erkannt am Master @: ' mit der richtigen IP und Port ... – Sunder

+0

Die Master" erkennen "die Slaves nicht, die Slaves registrieren sich beim Master-Knoten in ZooKeeper Ich denke, da war ein anderes Problem. Sie sollten die Protokolle veröffentlichen, sonst wird es schwierig sein, zu helfen – Tobi

+0

BTW, haben Sie die IP-Adresse des Routers für '--advertise_ip' verwendet? Und natürlich müssen Sie auch die Port-Weiterleitung einstellen. – Tobi