Solved

mod_jk errno=111 with apache2, tomcat6, on ubuntu 10.04

Posted on 2012-04-05
4
1,445 Views
Last Modified: 2012-04-16
I am experiencing a periodic mod_jk failure which leads to a 503 site error. I can netstat to Tomcat on port 8009 during these failures, so I suspect that there is an issue with the apache => tomcat threads. I have yet to find a culprit thread in a Tomcat stack trace dump.

OS: Ubuntu 10.04
Web Server: Apache2
App Server: Tomcat6

Error from mod_jk.log:
ajp_connect_to_endpoint::jk_ajp_common(c) (922): Failed opening socket to (127.0.0.1:8009) (errno=111)

workers.properties:
worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13

Server.xml:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
0
Comment
Question by:frankdux
4 Comments
 
LVL 13

Expert Comment

by:LinuxGuru
Comment Utility
Have you checked if some other process is listening on port 8009?

netstat -plan | grep ":8009"

Open in new window


Also if there is a firewall try stopping the firewall and see the results.

Try telnet to the port from the server itself.

telnet localhost 8009

Open in new window


Hope this helps.
0
 
LVL 34

Expert Comment

by:Duncan Roe
Comment Utility
As root, you can lsof -i to see more detail about listening ports. Note that telnet localhost 8009 only tells you if a process is listening on the local interface (shows as lo in ifconfig) and you want to know about eth0 or whatever. Frequently processes listen on all interfaces, but this isn't necessarily the case
0
 
LVL 19

Accepted Solution

by:
ramazanyich earned 500 total points
Comment Utility
I think it could be an issue with number of connections between apache and tomcat.
In tomcat you can add acceptCount attribute for the <Connector>. The defintion of that attribute is "The maximum queue length for incoming connection requests when all possible request processing threads are in use. Any requests received when the queue is full will be refused. Default value is 100" (check http://tomcat.apache.org/tomcat-6.0-doc/config/http.html for details)

Check the number of connections in Apache defined by MaxClients in your httpd.conf, default is 256. (check http://httpd.apache.org/docs/2.0/mod/mpm_common.html#maxclients).

If number of MaxClients is bigger that acceptCount then you can have such issues.
0
 

Author Closing Comment

by:frankdux
Comment Utility
Thank you for the verbose explanation. There was indeed a mismatch between the Apache thread connections and the Tomcat max connections.
0

Featured Post

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Join & Write a Comment

In Solr 4.0 it is possible to atomically (or partially) update individual fields in a document. This article will show the operations possible for atomic updating as well as setting up your Solr instance to be able to perform the actions. One major …
The purpose of this article is to demonstrate how we can use conditional statements using Python.
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now