
Estou fazendo clustering no Tomcat 7 com servidor Apache. Também está funcionando bem. No entanto, tenho os seguintes problemas:
1) Estou tentando monitorar a página de status do mod_jk; mas está dando erro 404.
2) no Log o seguinte erro é mostrado -
[Tue Dec 17 13:16:51.019 2013] [2236:140599476504544] [error] init_jk::mod_jk.c (3348): Initializing shm:/etc/httpd/logs/mod_jk.shm.2236 errno=13. Load balancing workers will not function properly.
[Tue Dec 17 13:16:51.019 2013] [2236:140599476504544] [info] init_jk::mod_jk.c (3365): mod_jk/1.2.37 initialized
[Tue Dec 17 13:16:51.041 2013] [2237:140599476504544] [error] init_jk::mod_jk.c (3348): Initializing shm:/etc/httpd/logs/mod_jk.shm.2237 errno=13. Load balancing workers will not function properly.
[Tue Dec 17 13:16:51.042 2013] [2237:140599476504544] [info] init_jk::mod_jk.c (3365): mod_jk/1.2.37 initialized
Aqui está o arquivo trabalhador.properties
worker.list=tomcatnode1,tomcatnode2,loadbalancer,statusmanager
worker.tomcatnode1.port=8009
worker.tomcatnode1.host=localhost
worker.tomcatnode1.type=ajp13
worker.tomcatnode1.lbfactor=100
worker.tomcatnode2.port=8010
worker.tomcatnode2.host=localhost
worker.tomcatnode2.type=ajp13
worker.tomcatnode2.lbfactor=100
#Load Balance Configuration
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=tomcatnode1, tomcatnode2
worker.loadbalancer.sticky_session=1
#worker.list=jkstatus
worker.statusmanager.type=status
Aqui está o arquivo mod_jk.conf
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkShmFile logs/mod_jk.shm
JkMount /IntellixWebApi/* loadbalancer
#JkMount /jkmanager/* jkstatus
#JkMount /jkmanager jkstatus
<Location /status/>
JkMount statusmanager
Order deny,allow
# Deny from all
Allow from 127.0.0.1
</Location>
Se estou acessando o IntellixWebApi; é acessível. mas quando estou usando /status; Não está funcionando.
Por favor sugira.
Responder1
Há um problema ao inicializar a memória compartilhada necessária aos trabalhadores.
Verifique se o diretório /etc/httpd/logs/
existe e pode ser gravado pelo usuário que está executando a instância do Tomcat. Caso contrário, altere as permissões no diretório ou crie um diretório separado para manter os arquivos shm. (Eu recomendaria o último, simplesmente porque não é uma boa ideia manter o estado importante no mesmo lugar que seus registros, por vários motivos.)
Se o diretório existir e for gravável, verifique se você tem o SELinux ativado e, em caso afirmativo, se há algum problema de permissão com ele. Você sempre pode tentar configurá-lo como permissivo para ver se o problema desaparece; nesse caso, é hora de corrigir as permissões e ativá-lo novamente.
Responder2
Depois de muita pesquisa no Google; Consigo obter a tela de status do jk_manager. Primeiramente desativei o SELINUX e depois reiniciei o sistema; Eu configurei o seguinte JkMount
JkMount /* loadbalancer
JkMount /IntellixWebApi/* loadbalancer
JkMount /jkmanager/* jkstatus
<Location /status/>
JkMount statusmanager
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
Isso funcionou para mim.
Obrigado