Antes de começar a instalação, é preciso estar com o ambiente preparado. Faça o seguinte:
Para efeitos de simplificação, esse tutorial irá considerar que: 1) o servidor Realtime a ser usado será o instalado nesse nó; 2) a instalação será feita na pasta padrão (“/opt/fluig”).
O Fluig possui uma configuração especial para ser executado em cluster com Load Balancing. Essa configuração é habilitada durante a instalação.
Instale a aplicação, usando o procedimento normal, porém utilize a seguinte linha de comando:
sudo ./jdk-64/bin/java -jar -Dprofile=full-ha fluig-installer.jar |
.\jdk-64\bin\java.exe -jar -Dprofile=full-ha fluig-installer.jar |
Encontre a propriedade de binding "java:global/wcm/globalDataDir" e altere para apontar para a pasta compartilhada entre as instâncias;
<simple name="java:global/wcm/globalDataDir" value="{pasta global}/wcmdir"/> |
Encontre o subsystem "urn:com.totvs.technology.wcm:1.0" e altere para apontar para a pasta compartilhada entre as instâncias;
<subsystem xmlns="urn:com.totvs.technology.wcm:1.0" dir="{pasta global}/apps" refresh="15"/> |
Altere o valor da propriedade de binding “wcm/globalDataDir” para apontar para a pasta compartilhada entre as instâncias:
<simple name="java:global/wcm/globalDataDir" value="{pasta global}"/> |
Ainda no sysbsystem “jboss:domain:web” adicionar o conector AJP, logo abaixo do conector http:
<connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp" enabled="true"/> |
Na pasta “/opt/fluig/jboss/bin”, crie o script “node1.sh”. Em “ip-do-servidor” coloque o endereço IP do servidor onde o Fluig está rodando;
#!/bin/sh ./standalone.sh -c standalone.xml -b {ip-do-servidor} -Djboss.server.base.dir=../standalone-node1 -Djboss.node.name=node1 -Djboss.socket.binding.port-offset=100 |
Inicie o primeiro nó pelo script “node1.sh”:
./node1.sh |
Na pasta “/opt/fluig/jboss/bin”, crie o script “node2.sh”. Em “ip-do-servidor” coloque o endereço IP do servidor onde o Fluig está rodando.
#!/bin/sh ./standalone.sh -c standalone.xml -b {ip-do-servidor} -Djboss.server.base.dir=../standalone-node2 -Djboss.node.name=node2 -Djboss.socket.binding.port-offset=200 |
Em “<system-properties>”, adicione uma nova propriedade:
<property name="UseJK" value="true"/> |
Altere o valor da propriedade de binding “wcm/globalDataDir” para apontar para a pasta compartilhada entre as instâncias:
<simple name="java:global/wcm/globalDataDir" value="{pasta global}"/> |
Ainda no sysbsystem “jboss:domain:web” adicionar o conector AJP, logo abaixo do conector http:
<connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp" enabled="true"/> |
Na pasta “/opt/fluig/jboss/bin”, crie o script “node3.sh”. Em “ip-do-servidor” coloque o endereço IP do servidor onde o Fluig está rodando
#!/bin/sh ./standalone.sh -c standalone.xml -b {ip-do-servidor} -Djboss.server.base.dir=../standalone-node3 -Djboss.node.name=node3 |
Certifique-se que a pasta "/app/fluig/jboss/apps" seja a mesma pasta compartilhada utilizada pelos node1 e node2.
Inicie o primeiro nó pelo script “node3.sh”:
./node3.sh |
Abra o arquivo httpd.conf e adicione o seguinte código:
Header add Set-Cookie "FLUIGCOOKIE=%{UNIQUE_ID}e.%{BALANCER_WORKER_ROUTE}e; path=/" env=!VARCOOKIE <Proxy balancer://mycluster> Order deny,allow Allow from all BalancerMember http://{ip-servidor-1}:8180 route=node1 BalancerMember http://{ip-servidor-1}:8280 route=node2 BalancerMember http://{ip-servidor-2}:8080 route=node3 ProxySet stickysession=FLUIGCOOKIE </Proxy> <VirtualHost *:80> ProxyPreserveHost On ProxyPass / balancer://mycluster/ stickysession=FLUIGCOOKIE nofailover=Off DocumentRoot /var/www <Directory /var/www> Options -Indexes Order allow,deny Allow from all </Directory> </VirtualHost> |
O que é importante entender aqui:
Altere a tag abaixo no arquivo $FLUIG_HOME/jboss/standalone/configuration/standalone.xml de cada servidor do Fluig para: <subsystem xmlns="urn:jboss:domain:web:1.5" default-virtual-server="default-host" instance-id="${jboss.node.name:fluignd2}" native="false"> Onde:
|
猼慰瑳汹㵥昢湯慦業祬洺湯獯慰散㸢猼慰瑳汹㵥挢汯牯⌺〰〰〰戻捡杫潲湵ⵤ潣潬㩲昣晦晦㭦㸢灡獰牥敶㱲猯慰㹮戼㹲⼼灳湡