Frage

Ich möchte in der Lage sein Gespräch zu haben zwei Erlang Schalen. Ich laufe auf OS X.

Ich habe versucht, das tut17 Beispiel hier .

Ich habe auch versucht:

$ erl -sname foo

und dann in einem neuen Terminal:

$ erl -sname bar

(bar@elife)1> net_adm:ping(foo@elife).
pang

Irgendwelche Ideen?

War es hilfreich?

Lösung

Es ist eine Art auf dem Mac gebrochen. Standardmäßig kann der Mac nicht über eine eigene Kurznamen aufzulösen. Ihr Host-Name ist wirklich wahrscheinlich "elife.local".

Wenn Sie erl mit -Name FQDN starten, dann werden die Pings funktionieren.

das heißt: Sie würde es beginnen mit

$ erl -name foo@elife.local

dies wahrscheinlich, indem sie die MAC-fähig zur Lösung seiner eigenen Kurznamen

festgelegt werden könnte,

Hier ist Beispiel für die Ausgabe von meinem Mac. Als ich -sname bekomme ich das gleiche Ergebnis wie Sie.

Der erste Knoten:

$ erl -name foo@mookie.local
Erlang R13B03 (erts-5.7.4) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]

Eshell V5.7.4  (abort with ^G)
(foo@mookie.local)1> 

Der andere Knoten:

$ erl -name bar@mookie.local
Erlang R13B03 (erts-5.7.4) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]

Eshell V5.7.4  (abort with ^G)
(bar@mookie.local)1> net_adm:ping('foo@mookie.local').
pong

Andere Tipps

Ein einfacheres Update könnte nur die Bearbeitung Ihrer / etc / hosts-Datei und stellen Sie sicher, dass Sie so etwas wie diese Linie haben:

127.0.0.1 localhost elife

My Mac funktioniert gut mit Kurznamen, und ich glaube, das ist, was es getan hat.

Für die Knoten miteinander kommunizieren, sollten beide das gleiche Cookie haben. Auf der gleichen Box funktioniert es, wie es von $ HOME / .erlang.cookie Datei mit dem Cookie am Ende. Wenn diese Datei nicht vorhanden ist, erstellen Sie eine neue Datei und stellen einige zufällige Cookie darin. Zukünftige Schalen verwenden das gleiche Cookie. Aber es ist immer besser, das Cookie auf der Kommandozeile über setcookie Parameter angeben.

erl -name node1@foo.local -setcookie MyCookie

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top