web-dev-qa-db-fra.com

Comment exécuter Solr 4 dans Tomcat localement?

J'ai essayé d'installer Solr 4.3 sur mon ordinateur personnel (dans Tomcat 7), mais il ne fonctionne pas. J'ai configuré Tomcat et déployé le fichier solr.war qui décompresse et affiche l'écran Tomcat Web Apps Manager dans Tomcat, mais il ne s'exécute pas et il ne suffit pas de cliquer sur le bouton Démarrer (il devrait déjà être en cours d'exécution en premier lieu). ).

Voici mon fichier de contexte solr.xml dans Tomcat, qui indique également le chemin d'accès au fichier solr.war et où se trouvent mes cores solr (qui est la valeur par défaut Collection1):

<Context path="/solr" docBase="C:/LocalApps/Tomcat/Apache-Tomcat-7.0.40/webapps/solr.war" debug="0" crossContext="true">
<Environment name="solr/home" type="Java.lang.String" value="C:/LocalApps/Solr/solr-4.3.0/example/solr/" override="true"/>
</Context>

voici le journal des erreurs dans Tomcat:

INFO: Starting Servlet Engine: Apache Tomcat/7.0.40
Jun 09, 2013 11:04:07 PM org.Apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor C:\LocalApps\Tomcat\Apache-Tomcat-7.0.40\conf\Catalina\localhost\solr.xml
Jun 09, 2013 11:04:07 PM org.Apache.catalina.startup.HostConfig deployDescriptor
WARNING: A docBase C:\LocalApps\Tomcat\Apache-Tomcat-7.0.40\webapps\solr.war inside the Host appBase has been specified, and will be ignored
Jun 09, 2013 11:04:07 PM org.Apache.catalina.startup.SetContextPropertiesRule begin
WARNING: [SetContextPropertiesRule]{Context} Setting property 'debug' to '0' did not find a matching property.
Jun 09, 2013 11:04:09 PM org.Apache.catalina.core.StandardContext startInternal
SEVERE: Error filterStart
Jun 09, 2013 11:04:09 PM org.Apache.catalina.core.StandardContext startInternal
SEVERE: Context [/solr] startup failed due to previous errors
15
jsnoob

Vous devez installer les fichiers jar pour la journalisation comme expliqué ici .

Copiez simplement tous les fichiers mentionnés dans votre répertoire Tomcat/lib. Et redémarrez Tomcat.

  1. Copiez les fichiers jar de solr/example/lib/ext dans le répertoire principal de votre conteneur. Ces fichiers jar vont configurer SLF4J et log4j. Exactement où ce répertoire lib est hautement variable. Pour un serveur Debian ou Ubuntu utilisant le paquet Tomcat disponible auprès du fournisseur de système d'exploitation, Sera probablement /usr/share/Tomcat6/lib ou /usr/share/Tomcat7/lib.
  2. Copiez la configuration de journalisation à partir de solr/example/resources/log4j.properties dans un emplacement du classpathname__. En général, vous pouvez utiliser le même emplacement que les fichiers jar Ci-dessus. Editez le fichier de configuration pour votre destination de journal préférée.
  3. Sinon, si vous n'avez pas placé log4j.properties sur le chemin de classe, définissez Java option -Dlog4j.configuration=file:///path/to/log4j.properties
26
Okke Klein
  1. Téléchargez le dernier fichier solr-4.x.Zip.
  2. Extrayez le fichier Zip quelque part comme C:\solr setup.
  3. Apache Tomcat (version supérieure à 5) et Java 6 ou supérieure doivent être installés. Copiez le fichier solr-4.x.war de “C:\solr setup\solr-4.3.0\dist” dans le dossier “webapps“ Apache Tomcat ”le plus probablement dans C:\Program Files\Apache ...\Tomcat ...\webapps\et renommez le fichier war copié en un nom significatif, tel que solrTest.Start Tomcat. Si déjà en cours d'exécution, redémarrez Tomcat. Un nouveau dossier portant le même nom que celui du fichier war (solrTest) sera créé.
  4. Arrêtez Tomcat. Copiez les dossiers bin et collection1 de C:\solr setup\solr-4.x\example\solr dans C:\Program Files\Apache ...\Tomcat ...\webapps\solrTest.
  5. Copiez tous les fichiers JAR de C:\setup\solr-4.x\example\lib\ext dans C:\Program Files\Apache ...\Tomcat ...\lib. SOLR 4.x utilisera ces pots pour la journalisation.
  6. Créez un fichier xml dans C:\Program Files\Apache ...\Tomcat ...\conf\Catalina\localhost\avec le même nom que le fichier war (solrTest.xml) avec le contenu indiqué ci-dessous. Tomcat recherche ce fichier XML pour démarrer l'application.
  7. Mettez à jour C:\Program Files\Apache ...\Tomcat ...\webapps\solrTest\collection1\conf\schema.xml et ajoutez les champs obligatoires, ainsi que les mises à jour.
  8. Supprimer les champs de copie si non requis. L'utilisation des champs de copie est disponible dans le même fichier.
  9. Mettez à jour C:\Program Files\Apache ...\Tomcat ...\webapps\solrTest\collection1\conf\solrconfig.xml. Mettez à jour le chemin de l’index physique dans une balise telle que $ {solr.data.dir: C:/Indexes/solrTest Index /}. S'il sera commenté, le répertoire C:\Program Files\Apache ...\Tomcat ...\webapps\solrTest\collection1\data\sera utilisé par défaut. La balise DataDir est disponible dans le fichier. Pas besoin d'ajouter le vôtre.
  10. Mettez à jour les entrées de réplication pour définir le maître ou l'esclave dans le gestionnaire de demandes de réplication.
  11. Essayez d’accéder “... localhost: portNumber/solrTest”. Si aucune erreur ne survient, vous avez configuré avec succès SOLR 4.x.
5
user2715709

Le moyen le plus simple de démarrer avec Solr sur Tomcat consiste à utiliser HDS (Heliosearch Distribution for Solr), une Tomcat/Solr distribution

C'est un super-ensemble d'Apache Solr, contenant un répertoire "serveur" supplémentaire préconfiguré (threads, journalisation, paramètres de connexion, taille des messages, etc.) serveur Solr basé sur Tomcat.

Quelques autres notes d'implémentation:

  • les scripts de démarrage peuvent être exécutés de n'importe où et permettent de passer les arguments de la JVM en ligne de commande (tout comme jetty, cela facilite donc son utilisation).
  • les scripts de démarrage fonctionnent autour de bogues connus de la machine virtuelle
  • les scripts de démarrage autorisent la définition du port à partir de la ligne de commande et du port stop par défaut basé sur un port http pour faciliter l’exécution de plusieurs serveurs sur
  • zkcli, le script de démarrage de l'outil solr zookeeper, fera exploser automatiquement le fichier WAR si nécessaire 
  • le répertoire "serveur" a été maintenu propre, mais en remplissant tout Tomcat dans le répertoire "serveur/tc"

Commencer:

$ cd server
$ bin/startup.sh

Pour démarrer sur un autre port (par exemple 7574):

$ cd server
$ bin/startup.sh -Dhttp.port=7574

Éteindre:

$ cd server
$ bin/shutdown.sh -Dhttp.port=7574

Les scripts acceptent même -Djetty.port = 7574 pour faciliter le copier-coller de À partir d'exemples de démarrage à l'aide de jetty. Le répertoire "exemple" Est toujours là aussi, vous pouvez donc toujours exécuter le serveur basé sur la jetée si vous Le souhaitez.

3
Yonik

J'ai eu quelques problèmes à faire la même chose, la documentation officielle n'est pas vraiment utile à ce sujet. J'ai écrit un blog post about it qui se lit comme suit:

  1. Solr installer

    Téléchargez et décompressez la dernière version de Solr, quelque part sur le disque.

    cd /tmp
    wget "http://mirrors.ircam.fr/pub/Apache/lucene/solr/4.6.0/solr-4.6.0.tgz"
    cd /opt
    Sudo tar zxvf /tmp/solr-4.6.0.tgz
    Sudo chown -R Tomcat:tomcat solr-4.6.0
    

    Ici, j'utilise/opt, mais vous pouvez l'installer n'importe où tant que Tomcat y a accès. Pour que ce soit bien clair, faites de Tomcat le propriétaire pour qu'il puisse lire et écrire dans les dossiers Solr.

  2. Déploiement

    Maintenant, déployons l'application Web Solr sur Tomcat. Pour ce faire, nous utiliserons un fichier de configuration de contexte XML, que nous utiliserons pour déployer et configurer Solr.

    Dans votre dossier d'installation Tomcat, créez un nouveau fichier de configuration de contexte XML dans conf/Catalina/localhost. Le nom de base du fichier définira le chemin du contexte Solr.

    Nous devons d’abord définir $ {solr.home}. Ici, nous utilisons l'exemple de configuration Solr fourni dans la distribution. Il se trouve dans /opt/solr-4.6.1/example/solr.

    Pour éviter les erreurs de démarrage, nous devons ajouter des fichiers JAR au chemin de classe Webapp, situé dans /opt/solr-4.6.1/example/lib/ext. Mais nous ne voulons pas polluer le dossier lib de Tomcat avec les fichiers JAR Solr, nous déclarons donc simplement un chargeur virtuel.

    Nous devons également configurer Log4J correctement. Nous utilisons ici le fichier de configuration Log4J fourni dans la distribution Solr dans /opt/solr-4.6.1/example/resources, en ajoutant le dossier dans le chemin de classe Solr.

    <?xml version="1.0" encoding="UTF-8"?>
    <Context docBase="/opt/solr-4.6.1/dist/solr-4.6.1.war">
      <Environment
        name="solr/home"
        type="Java.lang.String"
        value="/opt/solr-4.6.1/example/solr"
        override="true" />
      <Loader
        className="org.Apache.catalina.loader.VirtualWebappLoader"
        virtualClasspath="/opt/solr-4.6.1/example/lib/ext/*.jar;/opt/solr-4.6.1/example/resources/" />
    </Context>
    

    Enregistrez le fichier, attendez que Tomcat le lise et déployez la guerre.

C'est tout! Solr est opérationnel.

2
Eric Citaire

Consultez les journaux localhost_yyyy_mm_dd.log créés par Tomcat. Il devrait généralement vous montrer la raison de ce problème. La trace de pile complète peut ne pas être affichée dans la console ...

2
Learner

Voici les instructions fournies par Tony sur Drupal pour Windows avec XAMPP installé:

Préliminaires

  • Faites-vous une bonne tasse de thé
  • Assurez-vous que l'environnement Windows Java est installé. C'est la version 6 pour le moment.
  • Je suppose que vous utilisez XAMPP pour exécuter Apache et MySQL et la dernière version de PHP5

Installer Tomcat

  1. Si vous avez installé XAMPP avec Tomcat, accédez à votre plateau de service, arrêtez les services XAMPP et supprimez le répertoire Tomcal de votre installation XAMPP. Puis redémarrez votre XAMPP à nouveau. La raison en est que vous souhaitez pouvoir configurer Tomcat facilement à partir de la barre de services dans Windows. Si Tomcat fonctionne sous XAMPP, il n'apparaît pas dans la barre de services.
  2. Avant d'installer Tomcat, copiez le fichier c:\windows\Microsoft.net\framework\v1.1.4322\msvcr71.dll dans c:\windows\system32\msvcr71.dll. Si vous ne le faites pas, Tomcat ne démarrera pas. up.
  3. Maintenant, installez Tomcat 6.x. Commencez-le en cours d'exécution. Vous devriez obtenir une page indiquant http: // localhost: 8080 si Tomcat fonctionne.
  4. Jetez un coup d'œil à la structure de fichiers de Tomcat. C'est très simple. Notez le répertoire appelé webapps.
  5. Maintenant, prenez une bonne tasse de thé.

Si vous êtes sur Linux, vérifiez: Installation d’Apache Solr 4.6.0 .

0
kenorb