Solr 4.4 com o tomcat 6 lança 503 no gerenciador de tomcat

1

Detalhes do sistema:
SO: Cent OS 5.5 x86_64
java - 1.7 (1.7.0_25)
tomcat: 6.0.37
solr 4.4 (configurado para multi-core)

Eu tinha o multicore solr 4.4 funcionando perfeitamente no jetty (apesar de ter apenas um núcleo no momento).

Eu preciso executar o mesmo no tomcat 6 para ver se ele pode funcionar melhor do que o jetty.

Aqui está o que eu fiz:
1. baixado tomcat 6
de: link

2. extraiu o apache-tomcat-6.0.37.tar.gz para / usr / local / tomcat /
criou scripts de inicialização e encerramento e o processo é executado por meio do usuário: group tomcat: tomcat Verifique os scripts de inicialização e ache o tomcat para rodar bem. Eu modifiquei a porta de 8080 para 8400

3. criou um solr.xml no tomcat para o aplicativo solr: file: /usr/local/tomcat/conf/Catalina/localhost/solr.xml

<?xml version="1.0" encoding="utf-8"?>
<Context docBase="/var/www/projects/solr-oncars/example/solr/solr-4.4.0.war" debug="0" privileged="true" allowLinking="true" crossContext="true">
    <Environment name="solr/home" type="java.lang.String" value="/var/www/projects/solr-oncars/example/solr" override="true" />
</Context>

4. copie o solr.war para o caminho principal do core

cp /var/www/projects/solr-oncars/example/webapps/solr.war  /var/www/projects/solr-oncars/example/solr/oncars/

até tentou com o solr-4.4.war

cp /var/www/projects/solr-oncars/dist/solr-4.4.0.war /var/www/projects/solr-oncars/example/solr/

5. Editar solrconfig.xml
5.a: Eu tentei editar o datadir no solrconfig.xml
de:

<dataDir>${solr.core0.data.dir:}</dataDir>

para:

<dataDir>${solr.core0.data.dir:/var/www/projects/solr-oncars/example/solr/oncars/data}</dataDir>

5.b Eu também tentei depois de reverter a configuração acima

6. Copie os frascos slf4j para o tomcat: Encontrei muitos erros sl4j nos logs catalina quando tentei iniciar o aplicativo solr do gerenciador tomcat. Isso foi resolvido copiando as bibliotecas sl4j do solr para o tomcat. Como dado abaixo:

cp -v /var/www/projects/solr-oncars/example/lib/ext/slf4j-*  /usr/local/tomcat/lib/
cp -v /var/www/projects/solr-oncars/example/lib/ext/log4j-1.2.16.jar  /usr/local/tomcat/lib/

de 1 a 6 foram feitos para executar o solr existente do tomcat. Em Tomcat Manager, '/ solr' é exibido como iniciado. Parar e iniciar o mesmo não gera erros .

Eu posso ver que a pasta solr é criada em aplicativos da web no tomcat:

ll webapps/solr/

saída:

-rw-r--r-- 1 tomcat tomcat 5642 Jul 10 11:11 admin.html
drwxr-xr-x 3 tomcat tomcat 4096 Sep 19 18:53 css
-rw-r--r-- 1 tomcat tomcat 1146 Jul 10 11:11 favicon.ico
drwxr-xr-x 4 tomcat tomcat 4096 Sep 19 18:53 img
drwxr-xr-x 4 tomcat tomcat 4096 Sep 19 18:53 js
drwxr-xr-x 2 tomcat tomcat 4096 Sep 19 18:53 META-INF
drwxr-xr-x 2 tomcat tomcat 4096 Sep 19 18:53 tpl
drwxr-xr-x 3 tomcat tomcat 4096 Sep 19 18:53 WEB-INF

Quando clicado em / solr do gerenciador de tomcat, por exemplo, URL: link A página a seguir é exibida:

HTTP Status 503 - Server is shutting down

type Status report

message Server is shutting down

description The requested service is not currently available.
Apache Tomcat/6.0.37

SOLR CONFIG: /var/www/projects/solr-oncars/example/solr/solr.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true">
  <cores adminPath="/admin/cores">
    <core schema="schema.xml" name="oncars" instanceDir="oncars" conf="solrconfig.xml"/>
  </cores>
</solr>

Eu tentei procurar na web por ajuda, mas não consegui encontrar nenhuma que funcionasse. Até recursos do serverfault

    
por anup 19.09.2013 / 17:05

1 resposta

1

O problema era provavelmente com solr, uma vez que havíamos modificado o solrconfig inicialmente e depois até o solr.xml (do solr) no processo de tentativa e erro.

Então, eu fiz a coisa toda novamente a partir do zero. Desta vez eu me referi a outra mais relevante. -Para

No tipo, o erro que cometi foi fazer alterações no solr. Não faça isso!
Solr O Tomcat Wiki sugere: " O Solr4.3 exige uma implantação completamente diferente. Estas instruções não são atuais e são para uma versão indeterminada do Solr. "
Com o wiki, você tende a clicar no índice e a não usar letras pequenas! Eu havia me referido, portanto mexi com solr (tive sorte de ter feito um back-up).

No How-To, consultei as seguintes coisas:

1 Não faça alterações em uma configuração de solr de trabalho (por exemplo, execute solr do jetty para verificar se ele inicia bem)

2 Prepare o tomcat antes de adicionar solr nele. (Corra ambos independentemente. Pare ambos o serviço se você está satisfeito que ambos estão bem)

3 Digamos que o caminho solr seja /usr/local/solr-4.x, depois copie solr-4.x.war de /usr/local/solr-4.x/dist/solr-4. xxwar para /usr/local/solr-4.x/example/solr/ solr.war . Isso é tudo que você precisa fazer no diretório solr. Rest, você precisa levar alguns arquivos do diretório solr para o diretório tomcat (pt. 6)

4 Modifique o server.xml do tomcat e verifique se você tem o URIEncoding nele:

<Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443"
    URIEncoding="UTF-8" />

5 Crie solr.xml no conf do tomcat: vim /usr/local/tomcat/conf/Catalina/localhost/solr.xml adicione as seguintes linhas:

<Context path="/solr" docBase="/usr/local/solr/example/solr/solr.war" debug="0" crossContext="true">
        <Environment name="solr/home" type="java.lang.String" value="/usr/local/solr/example/solr" override="true"/>
</Context>

nota: os núcleos de solr estão sob o caminho: / usr / local / solr / example / solr / core {0,1, .. n}

6 Copie os arquivos de extensão do Solr e o arquivo de configuração do log4j para o tomcat:

cp -v /usr/local/solr/example/lib/ext/*  /usr/local/tomcat/lib/
cp -v /usr/local/solr-oncars/example/resources/log4j.properties /usr/local/tomcat/conf/

Para o resto, confira com o "Como fazer"

No final, conceda a propriedade do tomcat aos diretórios solr e tomcat (se o tomcat for executado como usuário / grupo 'tomcat'):

chown -R tomcat:tomcat /usr/local/tomcat
chown -R tomcat:tomcat /usr/local/solr

Inicie o tomcat e acesse o solr-url, funcionou!

    
por 20.09.2013 / 10:25