solucion sirve que para descargar tomcat solr tomcat6 solr4

sirve - tomcat 7 install



¿Cómo arreglar Solr Exception: no se encontraron los archivos jar necesarios para el registro de SLF4j? (3)

Tengo grandes problemas al instalar Solr 4.3 en Ubuntu 12.04. En primer lugar instalé tomcat. Puedo acceder a Tomcat a través del navegador en localhost: 8080. En el "Administrador de aplicaciones web de Tomcat" trato de instalar Solr 4.3 a través de 2solr.war ". El archivo se ha cargado y desplegado. Pero no puedo iniciarlo." FALLO: no se pudo iniciar la aplicación en la ruta de contexto / solr ".

El archivo de registro ( localhost.log ) se ve así:

07.05.2013 11:05:36 org.apache.catalina.core.ApplicationContext log INFO: HTMLManager: start: Starting web application at ''/solr'' 07.05.2013 11:05:36 org.apache.catalina.core.StandardContext filterStart SCHWERWIEGEND: Exception starting filter SolrRequestFilter org.apache.solr.common.SolrException: Could not find necessary SLF4j logging jars. If using Jetty, the SLF4j logging jars need to go in the jetty lib/ext directory. For other containers, the corresponding directory should be used. For more information, see: http://wiki.apache.org/solr/SolrLogging at org.apache.solr.servlet.SolrDispatchFilter.<init>(SolrDispatchFilter.java:105) ... 33 more 07.05.2013 11:05:36 org.apache.catalina.core.ApplicationContext log INFO: HTMLManager: list: Listing contexts for virtual host ''localhost'' 07.05.2013 11:05:36 org.apache.catalina.core.StandardContext filterStart SCHWERWIEGEND: Exception starting filter SolrRequestFilter org.apache.solr.common.SolrException: Could not find necessary SLF4j logging jars. If using Jetty, the SLF4j logging jars need to go in the jetty lib/ext directory. For other containers, the corresponding directory should be used. For more information, see: http://wiki.apache.org/solr/SolrLogging at org.apache.solr.servlet.SolrDispatchFilter.<init>(SolrDispatchFilter.java:105) ... 21 more

catalina ..... registro

07.05.2013 11:05:36 org.apache.catalina.core.StandardContext start SCHWERWIEGEND: Error filterStart 07.05.2013 11:05:36 org.apache.catalina.core.StandardContext start SCHWERWIEGEND: Context [/solr] startup failed due to previous errors 07.05.2013 11:05:36 org.apache.catalina.startup.HostConfig checkResources INFO: Reloading context [/solr] 07.05.2013 11:05:36 org.apache.catalina.core.StandardContext stop INFO: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/solr] has not been started 07.05.2013 11:05:36 org.apache.catalina.core.StandardContext start SCHWERWIEGEND: Error filterStart 07.05.2013 11:05:36 org.apache.catalina.core.StandardContext start SCHWERWIEGEND: Context [/solr] startup failed due to previous errors

¿Alguien puede ayudarme y decirme qué hacer?


Como dicen los registros: Could not find necessary SLF4j logging jars.

Te están perdiendo los tarros slf4j.

Coloque los tarros slf4j en la carpeta $CATALINA_BASE/lib . Para más información echar un vistazo here


Debe hacer exactamente lo que dicen estos mensajes en sus archivos de registro:

Copie los SLF4j registro SLF4j de <solr>/example/lib/ext/*.jar en Tomcat Lib (por ejemplo, TOMCAT_HOME/lib , /usr/share/tomcat/lib ) o en el directorio Webapp Lib (por ejemplo, TOMCAT_HOME/webapps/solr/WEB-INF/lib ). Estos tarros configurarán SLF4J y log4j .

Si utiliza Jetty, los SLF4j registro SLF4j deben ir al directorio lib / ext de Jetty. Para otros contenedores, debe utilizarse el directorio correspondiente. Para obtener más información, consulte: wiki.apache.org/solr/SolrLogging

En otras palabras, para que su Solr funcione correctamente con Tomcat, debe:

  1. Copie los archivos de registro SLF4j de <solr>/example/lib/ext/*.jar en Tomcat Lib (por ejemplo, TOMCAT_HOME/lib , /usr/share/tomcat/lib ) o en el directorio Webapp Lib (por ejemplo, TOMCAT_HOME/webapps/solr/WEB-INF/lib ). Estos tarros configurarán SLF4J y log4j.

    Para un servidor Debian o Ubuntu que usa el paquete Tomcat disponible del proveedor del sistema operativo, es probable que sea /usr/share/tomcat6/lib o /usr/share/tomcat7/lib .

    Por ejemplo:

    # cp -v /opt/solr-4.10.4/example/lib/ext/*.jar /usr/share/tomcat?/lib/

    o:

    # cp -v /opt/solr-4.10.4/example/lib/ext/*.jar /var/lib/tomcat7/webapps/solr/WEB-INF/lib/

    También puede configurar su CLASSPATH para que apunte a sus archivos jar.

  2. Copie la configuración de registro de solr/example/resources/log4j.properties en una ubicación en la ruta de solr/example/resources/log4j.properties . Por lo general, puede usar la misma ubicación que los archivos jar anteriores y editar el archivo de configuración para su destino de registro preferido.

    Opcionalmente, si no log4j.properties en la ruta de log4j.properties , configure la opción java: -Dlog4j.configuration=file:///path/to/log4j.properties

  3. Reinicie Tomcat (por ejemplo, sudo /etc/init.d/tomcat7 restart ).

Si aún tiene problemas, puede ser útil iniciar el servidor con -Dlog4j.debug=true para ver más detalles.

Consulte: Uso de la configuración de registro de ejemplo en contenedores que no sean Jetty.


Si no quieres copiar cosas, puedes modificar tu variable CLASSPATH para incluir todas las cosas relevantes.

Este es un ejemplo de lo que puedes hacer:

cd /tmp wget http://www.slf4j.org/dist/slf4j-1.6.6.zip unzip slf4j-1.6.6.zip mv slf4j-1.6.6/integration/lib slf4j CLASSPATH="`find /tmp/slf4j/ -type f | xargs echo | sed ''s/ /:/g''`"

Eso te dará algo como:

# echo $CLASSPATH /tmp/slf4j/slf4j-api-1.6.99.jar:/tmp/slf4j/slf4j-simple-1.6.99.jar:/tmp/slf4j/slf4j-simple-1.5.11.jar:/tmp/slf4j/slf4j-simple-1.4.2.jar:/tmp/slf4j/slf4j-api-1.5.11.jar:/tmp/slf4j/slf4j-simple-1.5.4-SNAPSHOT.jar:/tmp/slf4j/slf4j-nop-1.5.6.jar:/tmp/slf4j/slf4j-1.6.6.zip:/tmp/slf4j/slf4j-simple-1.5.0.jar:/tmp/slf4j/slf4j-api-2.0.99.jar

Puede establecer la variable CLASSPATH en / etc / default / tomcat7 de su tomcat (o en las distribuciones RHEL /etc/tomcat7/tomcat7.conf). Entonces, cuando Tomcat comience, verás algo como esto en catalina.out:

SLF4J: Found binding in [jar:file:/tmp/slf4j/slf4j-nop-1.5.6.jar!/org/slf4j impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/tmp/slf4j/slf4j-simple-1.4.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/tmp/slf4j/slf4j-simple-1.5.0.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/tmp/slf4j/slf4j-simple-1.5.11.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/tmp/slf4j/slf4j-simple-1.5.4-SNAPSHOT.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/tmp/slf4j/slf4j-simple-1.6.99.jar!/org/slf4j/impl/StaticLoggerBinder.class]

Creo que configurar la variable es una forma mucho más limpia de mantener tu sistema y luego copiar cosas.

Si lo desea, puede, por supuesto, usar las bibliotecas del paquete slf4j (verifique dónde están instaladas con dpkg -L libslf4j-java / rpm -ql slf4j, y tome los archivos jar de / usr / share / java). También tendrá la ventaja de poder actualizar su slf4j (y otras librerías que "incluya" a través de la variable CLASSPATH) con herramientas del sistema (apt-get / yum).

Espero que esto ayude.

PD. Si usa Debian / Ubuntu, hay un paso adicional: tiene que modificar su JAVA_OPTS para que contenga:

JAVA_OPTS="${JAVA_OPTS} -classpath ${CLASSPATH}"

para que esto funcione Parece que Debian / Ubuntu no tienen la variable de configuración CLASSPATH como distribuciones basadas en RHEL.