2015-07-28 3 views
1

У меня есть много узлов wildfly-8.2, у которых есть IP-адрес 10.4.0.X. Мне нужно сгруппировать их в 2 разных кластера. К сожалению, я получил сообщение от узлов, которые не входят в кластер. Каждый кластер получает сообщения от всех узлов, так как они все под 10.4.0. Вот моя конфигурация mod_cluster в Apache:Как настроить различные кластеры в общем IP

# MOD_CLUSTER_ADDS 
<IfModule manager_module> 
Listen 10.4.0.1:10001 
ManagerBalancerName testbalancer 

<VirtualHost 10.4.0.1:10001> 
<Location /> 
Order deny,allow 
Deny from all 
Allow from 10.4.0. 
</Location> 

KeepAliveTimeout 300 
MaxKeepAliveRequests 0 
#ServerAdvertise on http://10.4.0.1:10001 
AdvertiseFrequency 5 
#AdvertiseSecurityKey secret 
#AdvertiseGroup 224.0.1.105:23364 
EnableMCPMReceive 


<Location /mod_cluster_manager> 
    SetHandler mod_cluster-manager 
    Order deny,allow 
    Deny from all 
    Allow from 10.4.0 
</Location> 

ответ

4

Я думаю, что это может быть хороший сценарий, чтобы использовать widlfly в режиме домена, таким образом, вы можете настроить несколько групп серверов (подкластеры) и централизованно управлять ими используя контроллер домена. Подробное руководство можно найти здесь: http://blog.akquinet.de/2012/07/19/scalable-ha-clustering-with-jboss-as-7-eap-6/

Учебное пособие разбивает несколько групп серверов на несколько групп балансировки нагрузки на mod_cluster.

Чтобы просто настроить отдельные узлы в различные группы нагрузки балансировки для mod_cluster (не пробовал это сам!), Вы можете использовать параметр lbgroup в моде-кластере-конфигурации:

<subsystem xmlns="urn:jboss:domain:modcluster:1.1"> 
     <mod-cluster-config advertise-socket="modcluster" 
     balancer="myBalancer" load-balancing-group="myLBGroup" 
     connector="ajp"> 
      <dynamic-load-provider> 
       <load-metric type="busyness"/> 
      </dynamic-load-provider> 
     </mod-cluster-config> 
    </subsystem> 

исй: https://developer.jboss.org/thread/203907

Чтобы разделить экземпляры wildfly на отдельные кластеры - это еще одна история. Раньше существовало свойство «jboss.partition.name», но это было заменено определением уникальных комбинаций многоадресных адресов/портов для ваших кластерных разделов в подсети.

https://developer.jboss.org/thread/177877

Так если вы используете ПДП в стек ваши JGroups, вы можете изменить групповой адрес с помощью «-u» параметр командной строки:

https://docs.jboss.org/author/display/WFLY8/Command+line+parameters#Commandlineparameters-defaultmulticastaddress

Альтернативой для настройки mod_cluster может быть отключить рекламу (узлы и mod_cluster) и использовать статическую конфигурацию в вашем standalone.xml:

<mod-cluster-config proxy-list="10.0.1.2:6667"/> 

Таким образом, узлы больше не будут рекламировать, а присвоения различным прокси-серверам mod_cluster apache будут статическими.

исх: https://developer.jboss.org/thread/218813

исх: https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html/Administration_and_Configuration_Guide/Configure_the_mod_cluster_Subsystem_to_Use_TCP.html

+1

Я сделал все эти шаги; создал lbgroups и использовал разные многопользовательские адреса для каждой группы. В моем случае для каждой группы есть 2 lbgroups, 2 сервера Apache. Я использовал многоадресный адрес: 230.0.0.4 для одной группы и: 230.0.0.14 для другой группы. Поскольку каждый Apache находится под 10.4.0.x, они также получают сообщения от узлов в другой lbgroup. Я попробовал другое имя менеджераBalancerName для каждого Apache, как установлено в разных lbgroups, но ничего не изменилось. –

+1

Вы можете попытаться настроить прокси-список статически для каждого кластера, я обновляю ответ выше. Прокси-список также может принимать mutliple серверы в виде: address1: port1, address2: port2 – sprockets

+0

ok, 10.0.1.2:6667 - это адрес и порт Apache? Если да, то где этот порт 6667 определен? Я использую WildFly-8.2, и это будет стандартный порт дикой природы? В моей конфигурации будет 10.4.0.1:10001? –

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