2010-08-14 5 views
5

Я новичок в Erlang и пытаюсь установить два узла на своем ноутбуке.Узлы Erlang не могут видеть друг друга

В одном терминале набираю:

[email protected]: ~/erlang_apps> erl -sname foo -setcookie secret 

А во втором терминале:

[email protected]: ~/erlang_apps> erl -sname bar -setcookie secret 

Если я использую первый терминал свистеть второй:

([email protected])1> net_adm:ping([email protected]). 

я получаю ответ панга (тот же ответ, если я использую второй термин для ping первого члена).

Любая идея, почему?

+1

Можете ли вы выполнить 'erl_epmd: names()' и опубликовать вывод? –

+0

Я объединил вашу незарегистрированную учетную запись в свой зарегистрированный. Теперь вы можете оставлять комментарии в ответах, редактировать свой вопрос и т. Д. Я преобразовал ваш предыдущий ответ в комментарий в ответ @ mjcopple. –

ответ

3

Try начиная узлы, как это:

[email protected]: ~/erlang_apps> erl -sname [email protected] -setcookie secret 
[email protected]: ~/erlang_apps> erl -sname [email protected] -setcookie secret 

Тогда пинг их, как вы делали раньше.

([email protected])1> net_adm:ping([email protected]). 

Если это не сработает, попробуйте выполнить ping-узел.

+0

Также смотрите: http://stackoverflow.com/questions/2136918/getting-two-erl-shells-to-talk – mjcopple

+0

mjcopple: Спасибо за ваш ответ. Я начал использовать узлы, как вы предлагали. Все еще они не могут видеть друг друга. Я могу пинговать оба узла из узла, но не из другого узла. Я пробую это на OpenSUSE 11.3. При попытке Ubuntu 10.04 он отлично работает. Обе машины - это виртуальные машины, работающие под Virtual Box. – elimayost

0

Вы проверили системный журнал на наличие ошибок?

Является ли apparmor активным? Возможно, выключите его и повторите попытку. В один прекрасный день у меня были очень странные эффекты с запуском айрморра ... но это всего лишь предположение.

0

Это проблема DNS, имя хоста name 'elimayost' не может быть найдено в DNS. Вы можете использовать «localhost» в качестве главной части, которая, как «foo @ localhost» и «bar @ localhost», всегда будет работать.