Search code examples
tomcattomcat6catalina

Installed Solr: Shows Running, but seeing 404 on /solr


My versions:

CentOS 6.5 x86_64 kvm
Java 1.7.0_65
Solr 4.9.0
Tomcat6.0.24

I'm still learning on how to install Solr for my Drupal installation. Been following a few tutorials on getting this set up. Java and Tomcat work right now. I opened up the port 8080 on my iptables so :8080 loads the Tomcat page.

My current setup goes:

I grabbed what was in the /example/solr folder when I download Solr and unzipped this into a new folder called solr located here:

/var/lib/tomcat6/webapps/solr/WEB-INF 

I installed right here since a tutorial had me skip the step for placing the solr.xml file here to point to another location, like /opt/solr/ or whatnot:

So to further clarify, my file structure in here goes.

/solr/
  |--/bin/
  |--/collection1/
  |--/drupalsolr/   (this is my core/instace)
  |--/conf/
  |--solr.xml
  |--zoo.cfg
/solr.war
/weblogic.xml (was in here originally)

When I visit :8080 and then click to the Tomcat Manager, I see /solr is 'running'. Yet when I click /solr on here. It gives me a 404 error.

HTTP Status 404 - /solr/

type Status report

message /solr/

description The requested resource (/solr/) is not available.

Apache Tomcat/6.0.24

Where do I begin with fixing this? Is there any sort of errors I can find besides a 404 not found error?


Update:

Ok, I am following this tutorial with how they used a Context Path file and have the Solr installation outside the Tomcat folder. I moved it to /opt/solr instead and edited the generated context path web.xml file that is located here: /var/lib/tomcat6/webapps/solr/WEB-INF/web.xml

Here is what I edited in the web.xml file now:

<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/opt/solr</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>

I now get the error 'FAIL: Application at context path /solr could not be started'. So I guess this means my actual Solr core isn't set up properly. I googled around and it might be my .jar files. It's hard to tell without a proper error.

I also made sure my $JAVA_HOME is set to /urs/local/jdk

Here are the errors form the log:

Aug 07, 2014 3:31:01 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor manager.xml
Aug 07, 2014 3:31:01 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive solr.war
Aug 07, 2014 3:31:01 PM org.apache.catalina.core.StandardContext start
SEVERE: Error filterStart
Aug 07, 2014 3:31:01 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/solr] startup failed due to previous errors
Aug 07, 2014 3:31:01 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory sample
Aug 07, 2014 3:31:01 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory examples
Aug 07, 2014 3:31:01 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
Aug 07, 2014 3:31:01 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Aug 07, 2014 3:31:01 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Aug 07, 2014 3:31:01 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/15  config=null
Aug 07, 2014 3:31:01 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 885 ms
Aug 07, 2014 3:37:14 PM org.apache.coyote.http11.Http11Protocol pause
INFO: Pausing Coyote HTTP/1.1 on http-8080
Aug 07, 2014 3:37:15 PM org.apache.catalina.core.StandardService stop
INFO: Stopping service Catalina
Aug 07, 2014 3:37:15 PM org.apache.coyote.http11.Http11Protocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-8080

Solution

  • The default solr port is 8983 or is set in solr configuration and then as noted here the URL structure is

    http://localhost:8983/solr/{{solrCoreName}}
    

    If this does not work it may be worth checking that solr service actually runs (for ubuntu / debian -> service solr 8983 status or similar for your distro or by checking process list).