Installer Solr 4.3.0 sous tomcat 7

solr

Ce petit article me semble intéressant car à partir de la version 4.3.0 de Solr, la procédure simple et rapide que j’utilisais jusqu’à présent ne fonctionne plus. Voici donc ma nouvelle procédure pour une installation en mode multi-core adaptée à Solr 4.3.0 et Tomcat 7. Attention, cette procédure ne porte pas sur l’installation d’un noeud Solr dans SolrCloud, mais sur l’installation d’une instance Solr « standard ».

Pour cette procédure, Tomcat 7 est soit installé à partir d’un package standard d’une distribution Linux (pour moi Debian 7.0 Wheezy), soit l’archive est téléchargée sur le site du projet Tomcat et décompressée dans /opt/tomcat7 (pratique pour installer plusieurs instances indépendantes de Tomcat sur un même serveur).  On télécharge la distribution binaire de Solr 4.3.0 et on décompresse l’archive dans /tmp/solr-4.3.0. 

Les étapes de l’installation sont donc :

0/ pré-requis 

Solr peut ouvrir un grand nombre de fichiers en fonction de son contexte d’utilisation. Je vous suggère de suivre cette procédure afin de permettre l’ouverture simultanée de 8192 fichiers (à augmenter au besoin).

Redémarrer le serveur

1/ créer une arborescence pour Solr

2/ copier fichier solr.xml vide dans /opt/solr/home

3/ Copier la webapp Solr dans /opt/solr/webapp

4/ mettre en place le fichier de configuration des log (nouveau à partir de Solr 4.3.0)

Cette étape est nouvelle avec Solr 4.3.0, et nécessaire pour voir catalina.out alimenté par les logs Solr.

5/ Copier les dépendances de Solr dans le répertoire lib de Tomcat (nouveau à partir de Solr 4.3.0)

Si on utilise un Tomcat installé avec le package de la distribution linux (exemple avec Debian Wheezy)

Si on utilise un Tomcat dans /opt/tomcat7

6/ Vérifier les paramètre du connecteur Tomcat

Dans /var/lib/tomcat7/conf/server.xml (ou /opt/tomcat7/conf/server.xml), vérifier que le connecteur non-SSL inclut l’attribut “URIEncoding=”UTF-8″”.

7/ Modifier les paramètres de démarrage de Tomcat

Si on utilise un Tomcat installé avec le package de la distribution linux (exemple avec Debian Wheezy), on modifie le fichier /etc/default/tomcat7

Si on utilise un Tomcat dans /opt/tomcat7, on créer un fichier /opt/tomcat7/bin/setenv.sh (penser à l’attribut attribut +x)

Le but ici est d’indiquer à Tomcat le fichier de configuration de log à utiliser et d’anticiper les erreurs courantes « Out of heap size memory » et « Out of permgen memory ». D’autres paramètres peuvent être à ajouter ou modifier pour optimiser Solr en fonction du contexte d’utilisation.

Note : dans ce même fichier, il est possible d’indiquer à Tomcat qu’elle JVM utiliser. Par exemple :

8/ limites systèmes pour le nombre de fichier ouverts (erreur Too many open files)

Si on utilise un Tomcat installé avec le package de la distribution linux (exemple avec Debian Wheezy), on modifie le fichier /etc/init.d/tomcat7, et on place au début la ligne 

Si on utilise un Tomcat dans /opt/tomcat7, on modifie le fichier /opt/tomcat7/bin/catalina.sh, et on place au début la ligne 

9/ mettre en place la configuration jndi solr.xml 

Si on utilise un Tomcat installé avec le package de la distribution linux (exemple avec Debian Wheezy), le chemin est /var/lib/tomcat7/conf/Catalina/localhost/solr.xml

Si on utilise un Tomcat dans /opt/tomcat7, on modifie le fichier /opt/tomcat7/conf/Catalina/localhost/solr.xml

10/ sécuriser

Il est fortement conseillé de n’autoriser l’accès à Solr qu’à des ordinateurs précis identifiés par leurs adresses IP. Pour cela on peut mettre en place des valves dans le fichier server.xml de Tomcat (dans /var/lib/tomcat7/conf ou /opt/tomcat7/conf).

Par exemple, pour un accès local uniquement :

11/ mettre en place un core de test 

Sans un core, l’interface d’administration ne fonctionne pas.

On commence par l’arborescence du core et ses fichiers de configuration :

On met à jour le fichier /opt/solr/home/solr.xml :

12/ tester

Accéder à http://server:xxxx/solr/

6 Commentairess

  1. Beno!t POLASZEK 30 août 2013
  2. admin 30 août 2013
  3. alxgomz 2 octobre 2013
  4. admin 2 octobre 2013
    • alxgomz 3 octobre 2013
    • alxgomz 3 octobre 2013

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *