BOM DIA .
Estou tentando configurar o apache e o tomcat para fazer uma arquitetura de cluster para o balanceamento de carga no Windows Server 2003 , não estou obtendo êxito na configuração.
Se alguém puder me ajudar?
Obrigado
BOM DIA .
Estou tentando configurar o apache e o tomcat para fazer uma arquitetura de cluster para o balanceamento de carga no Windows Server 2003 , não estou obtendo êxito na configuração.
Se alguém puder me ajudar?
Obrigado
Que tipo de problema tá dando?
Configurei um ontem, por causa de um maldito ponto no lugar de uma vírgula não funcionava.
Manda mais detalhes do que tá acontecendo, pra que eu, e mais alguém no furum, possamos ajudar.
Seguinte, tu tá usando o apache com o mod_jk?
Se sim, abre o httpd.conf, e na seção de carregamento de modulos, poe isso abaixo
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/worker.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkMount /jk state
JkMount /jsp-examples/* cluster
JkMount /servlets-examples/* cluster
No arquivo worker.properties, que pode ser salvo no diretorio conf, do apache, ponha o conteudo abaixo, configurando as portas e os ip’s de acordo com as tuas configurações de máquinas ae.
worker.list=ajp13,cluster,state
#balanceador
worker.cluster.type=lb
worker.cluster.balance_workers=no1,no2
worker.cluster.sticky_session=true
#monitoração do cluster
worker.state.type=status
#primeiro nó do cluster
worker.no1.type=ajp13
worker.no1.host=10.17.107.19
worker.no1.port=8009
worker.no1.lbfactor=1
#segundo nó do cluster
worker.no2.type=ajp13
worker.no2.host=10.17.107.18
worker.no2.port=8009
worker.no2.lbfactor=1
Note que na propriedade worker.list, tem alguns nomes, como state, cluster,
Esses nomes são referências para o JkMount, q vai ser usado lá no httpd.conf
por exemplo,
JkMount /teste/* cluster
onde /teste/* é o nome do contexto rodando nos tomcats, e cluster é o nome da referência do worker com o balanceador de carga.
o trecho:
JkMount /jk state
permite monitoração dos nodos via web, vendo quais estao ativos, inativos.
Feito isso, deves editar os arquivos server.xml do teu tomcat.
Procure o trecho abaixo no teu server.xml, e no jvmRout, ponha o identificador que colocou lá no workers.properties
<Engine name="Catalina" defaultHost="localhost" debug="0" jvmRout="no1">
Descomente o trecho abaixo, e usa o manager mais apropriado, no caso aqui, seguindo as especificações de um artigo, to usando o SimpleTcpReplicationManager, que replica a sessao, via tcp de modo síncrono (o que consome uma maior quantidade de largura de banda da rede), definido no parametro: replicationMod, da tag Sender.
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="org.apache.catalina.cluster.session.SimpleTcpReplicationManager"
expireSessionsOnShutdown="false"
useDirtyFlag="false"
notifyListenersOnReplication="true">
<Membership
className="org.apache.catalina.cluster.mcast.McastService"
mcastAddr="228.0.0.4"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>
<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
<Sender
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
replicationMode="synchronous"
ackTimeout="15000"/>
<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
<Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
</Cluster>
Esse trecho do código, te garante um sistema de alta disponibilidade, ou seja, se cair um dos nós do teu cluster, outro assume as sessoes do que caiu.
Zirocool
valeu pela ajuda!!!
cara acho q estava estava fazendo tudo certo , mas não estou conseguindo startar o apache?
Atenciosamente