Я делаю кластеризацию в Tomcat 7 с сервером Apache. Он тоже работает нормально. Однако у меня есть следующие проблемы:
1) Я пытаюсь контролировать страницу статуса mod_jk; но он дает ошибку 404.
2) в журнале отображается следующая ошибка -
[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
Вот файл worker.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
Вот файл 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>
Если я получаю доступ к IntellixWebApi; это доступно. но когда я использую / status; это не работает.
Пожалуйста, предложите.
Возникла проблема с инициализацией общей памяти, которая нужна работникам.
Проверьте, есть ли в каталоге /etc/httpd/logs/
существует и доступен для записи пользователю, запустившему экземпляр tomcat. Если это не так, либо измените разрешения для каталога, либо создайте отдельный каталог для хранения файлов shm (я бы порекомендовал последнее, просто потому, что не рекомендуется хранить важное состояние в том же месте, что и ваши журналы по нескольким причинам.)
Если каталог существует и доступен для записи, проверьте, включен ли у вас SELinux и, если да, есть ли в нем какие-либо проблемы с разрешениями. Вы всегда можете попробовать установить его на разрешающий, чтобы увидеть, исчезнет ли проблема; если да, то пора исправить разрешения и снова включить.
После большого количества поисков в Google; Я могу получить экран статуса jk_manager. Сначала я отключил SELINUX, а затем перезапустил систему; Я установил следующий 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>
Это сработало для меня.
Спасибо