2016-08-02 5 views
0

Как подключить узел Erlang к окнам 10 с узлом Erlang на freeBSD 10.3 vm на одном компьютере Используя erl -name anynode @ hostname?Как подключить узлы erlang на разных платформах

+1

AFAIK Есть два случая взаимодействия между хостом и гостем. Во-первых, гость получает свой IP-адрес от обычного DHCP-сервера (так же, как и у хоста). Другим способом является создание виртуальной сети между гостем и хостом. В любом случае вы сможете увидеть это, используя команды 'ipconfig' (windows) и' ifconfig' (FreeBSD). Проверьте, что такое ips и проверьте ли «ping» между ними (как от хоста до гостя, так и от гостя до хоста), если это сработало, то это, вероятно, правильный ips для использования в качестве «hostname». –

ответ

0
  1. Хост-компьютеры, на которых работают узлы erlang (окна и виртуальная машина BSD), должны иметь IP-соединение между ними, вы можете проверить это, используя ping.
  2. Узлы Erlang должны быть запущены одним и тем же волшебным печеньем, используйте -setcookie «cookie» при запуске узла erlang.
  3. Посмотрите, могут ли узлы erlang видеть друг друга, запустив узлы() в оболочке.
0

Как я уже писал в комментарии, вам сначала необходимо определить внутреннюю сеть (подсеть) между хостом (окнами) и вашим гостем (FreeBSD VM). Используйте ipconfig на окнах и ifconfig команд для получения информации.
Возможно, вы заметите, что один из IP-адресов в хосте имеет тот же префикс, что и один из IP-адресов в гостевой системе, так что это подсеть. Например, если хост имеет IP 192.168.2.10, а гость имеет IP 192.168.2.11, то есть 192.168.2.x - это сеть между ними. Теперь мы можем продолжать связывать эти узлы.

Есть несколько простых шагов:

  1. Введите оболочку с правом интеллектуальной собственности и общим печеньем.
    В Windows - werl -name [email protected] -setcookie 'mycookie'.
    О FreeBSD - erl -name [email protected] -setcookie 'mycookie'.
    Подробнее о cookie вы можете узнать здесь и здесь.
  2. Связь между узлами. Это можно сделать либо net_adm:ping/1, либо net_kernel:connect_node/1. Вам нужно только сделать это из одной из оболочек. Примеры:
    из Windows оболочки - net_adm:ping('[email protected]')
    из оболочки Linux - net_kernel:connect_node('[email protected]')
  3. Ваши узлы должны теперь быть подключены. Вы можете проверить это, вызвав nodes() из одной из оболочек.
Смежные вопросы