Ошибка MEM при отправке команды STATUS на ‹host›, конфигурация будет сброшена: MEM: не удается прочитать узел

Я пытаюсь реализовать настройку домена Wildfly 8.1.0.Final, профиль full-ha, с 1 мастером и 2 слейвами с балансировкой нагрузки по mod_cluster.

Моя среда: 1) хост-мастер на VPS (DigitalOCean) Ubuntu 14.04 LTS x64, Wildfly 8.1.0.Final и Apache Web Server 2.4.7 с mod_cluster 1.3.1.Alpha3-SNAPSHOT; 2) host slave1 на VPS (DigitalOCean) Ubuntu 14.04 LTS x64 и Wildfly 8.1.0.Final; 3) host slave2 на VPS (DigitalOCean) Ubuntu 14.04 LTS x64 и Wildfly 8.1.0.Final.

Мне пришлось скомпилировать mod_cluster из-за несовместимости версии 1.2.6 с Apache Web Server 2.4.7.

Я вижу следующие ошибки:

а) на главном хосте (/var/log/apache2/error.log): «(111) Соединение отклонено: AH00957: ajp: попытка подключения к host_slave1 не удалась»

б) на хосте slave1 (/opt/wildfly/domain/configuration/servers/server-one/server.log): «2014-09-18 20:50:55,169 ОШИБКА [org.jboss.modcluster] (UndertowEventHandlerAdapter — 1) MODCLUSTER000042: ошибка MEM при отправке команды STATUS на host_master, конфигурация будет сброшена: MEM: не удается прочитать узел"

Таким образом, виртуальный хост балансировки нагрузки с mod_cluster не может подключиться к хостам slave1 и slave2.

Как решить эту проблему, пожалуйста?


person cviniciusm    schedule 19.09.2014    source источник
comment
Не могли бы вы прикрепить журналы экземпляров Apache и Jboss?   -  person ArunRaj    schedule 21.11.2014


Ответы (3)


Сначала вы могли использовать mod_cluster 1.3.1.Final, который теперь полностью интегрирован с HTTP-сервером Apache. 2.4.х.

Ответ

Проблема определенно в вашей изоляции сети/хоста. Недостаточно, чтобы ваш рабочий узел мог получить доступ к EnableMCPMReceive включенному VirtualHost; ваш HTTP-сервер Apache должен иметь возможность связаться с рабочим.

Взгляните на IP-адрес (имя хоста), который host_slave1 сообщил HTTP-серверу Apache, и убедитесь, что можно связаться с host_slave1 по этому адресу: порт с компьютера с HTTP-сервером Apache.

Статус можно легко проверить на управляющей консоли Mod_cluster, включенной на виртуальном хосте, с помощью:

    <Location /mod_cluster_manager>
      SetHandler mod_cluster-manager
      # This is super sensitive, don't open to the world...
      Require ip 127.0.0.1
   </Location>

ХТН

person Michal Karm Babacek    schedule 18.05.2015

ваш HTTP-сервер Apache должен иметь возможность связаться с рабочим.

ajping — это небольшой простой в установке и использовании скрипт. Установите на балансировщик нагрузки и вызовите:

loadbalancer$ ajping host_slave1:8009
Reply from 172.26.XXX.XXX: 7 bytes in 0.002 seconds

Это подтверждает, что балансировщик нагрузки может обмениваться данными AJP с узлом.

person DaveC    schedule 18.07.2016

Ваша проблема в том, что сервер JBOSS не может отправлять данные на сервер apache, действительно, apache не может перенаправить ваш запрос в приложение jboss.

Причина может быть любой, может быть, если вы укажете https, сертификат не настроен, может быть, в вашем jboss, wilfly конфигурация имеет ошибку, самое простое - следовать примеру на сайте modcluster или отправить автономный или domain.xml и конфигурацию apache .

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

person cyril    schedule 29.07.2016