2012-05-04 4 views
3

У меня возникли проблемы с развертыванием с использованием Akka для реализации небольшого поискового приложения.Запуск нескольких удаленных серверов с помощью Akka

Я хочу развернуть свою систему ActorSystem на множестве локальных машин кластера, чтобы использовать их в качестве рабочих, но я немного смущен тем, что вставить в мой application.conf, чтобы это произошло. Например, я могу использовать:

akka.remote { 
    transport = "akka.remote.netty.NettyRemoteTransport" 
    netty { 
    hostname = "0.0.0.0" 
    port = 2552 
    } 
} 

Каждый рабочий запускает систему ActorSystem при запуске.

Это позволяет мои рабочие машины, чтобы связать их адрес, когда они начинают, но потом они отказываются слушать сообщения:

beaker-24: [ERROR] ... dropping message DaemonMsgWatch for non-local recipient akka://[email protected]:2552/remote at akka://[email protected]:2552

В документации я нашел для этого пока только обсуждается развертывание на моем localhost, что не так полезно :). Я надеюсь, что есть способ сделать это, не создавая отдельную конфигурацию для каждого хоста.


Обновление:

Используя пустую строку в качестве имени хоста позволяет контактирование хоста через обычный IP-адрес. Адресация с использованием самого имени хоста в данный момент не работает.

+0

Может быть ошибка, пожалуйста, откройте билет! –

+0

Спасибо, я постараюсь кодифицировать ожидаемое поведение и отправить что-то. Я нашел использование пустой строки, поскольку адрес работает в это время (я должен был прочитать ссылку на конфигурацию немного более подробно!) – rjpower

ответ

1

Установка «0.0.0.0» в качестве имени хоста в настоящее время в основном отключает удаленный доступ, потому что это не юридический IP-адрес для отправки. Справочная информация. Справочники актера получают сконфигурированный IP-адрес (или имя хоста), вставленный в их адресную часть, когда они покидают локальную систему, и это именно их «указатель домой» для других систем для отправки сообщений назад.

Усилия Скотта позволили системе получать ответы на другой адрес here, но это еще не включено, и мы вполне можем выбрать другое решение этой проблемы.

+0

Спасибо - у меня получилось решение для моего случая - если я покину поле хоста пустым, это привязывается к «любому» адресу, но я все же могу получить доступ к хосту по его IP-адресу (к сожалению, хост не распознает его имя хоста как действительный адрес получателя). Тем не менее, он работает! – rjpower

Смежные вопросы