Obtenir deux obus de ERL parler sur OS X
La solution
Il est un peu cassé sur le mac. Par défaut, le Mac ne peut pas résoudre ses propres shortname. Le nom de votre hôte est vraiment probablement « elife.local ».
Si vous commencez ERL avec FQDN -nom, puis les pings fonctionneront.
à savoir: vous commencez avec
$ erl -name foo@elife.local
cela pourrait probablement être fixé en rendant le Mac capable de résoudre son propre nom court
Voici un exemple de sortie de mon mac. Quand je fais -sname je reçois le même résultat que vous.
Le premier noeud:
$ 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>
L'autre noeud:
$ 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
Autres conseils
Une simple solution pourrait juste modifierons votre fichier / etc / hosts et assurez-vous que vous avez quelque chose comme cette ligne:
localhost 127.0.0.1 eLife
Mon mac fonctionne très bien avec shortnames, et je crois que c'est ce qui l'a fait.
Pour les noeuds communiquent entre eux, les deux devraient avoir le même cookie. Sur la même boîte, il fonctionne comme il se termine à l'aide du cookie à partir du fichier $ HOME / .erlang.cookie. Si ce fichier est présent, il crée un nouveau fichier et mettre un peu au hasard dans ce biscuit. coquilles futures utilisent le même cookie. Mais il est toujours préférable de préciser le cookie sur la ligne de commande via le paramètre setcookie.
ERL -nom node1@foo.local -setcookie MonCookie