Environnement SolrCloud (Solr 4.0) minimal de développement ou de test

solr

Afin de s’initier à SolrCloud ou disposer d’un environnement minimal de test la meilleur solution est d’utiliser Jetty et le Zookeeper interne de Solr. Voici un exemple d’installation d’un environnent à 2 noeuds.

Nous allons installer le cloud dans le répertoire « /opt/solrcloud-test ».

Installation du cloud

Créer le répertoire d’installation

Copier dans la distribution Solr 4.3.1 dans solrcloud-test

On a alors le fichier /opt/solrcloud-test/solr-4.3.1.tgz et on extrait son contenu.

Créer le noeud 1

Faire un peu de nettoyage

Supprimer la déclaration du core collection1 dans node1/solr/solr.xml en éffaçant la ligne suivante

Copier les librairies complémentaires

Si vous prévoyez d’utiliser des extensions Solr tel que le DIH, il faut créer un répertoire lib dans node1/solr et y copier les jar nécessaires et leurs dépendances

Dupliquer le noeud 1 en un noeud 2

cp -r node1 node2

Scripts de démarrage

Créer des scripts de démarrage des 2 noeuds dans /opt/solrcloud-test

start-node1.sh

start-node2.sh

Avec ces scripts :

  • le noeud 1 Solr est accessible sur le port 8983 et Zookeeper est démarré pour utiliser le port 9983 (1000 de plus que Solr)
  • le noeud 2 Solr est accessible sur le port 8993 et contact bien Zookeeper sur le port 9983

Attention, à cette étape, le cloud fonctionne mais l’administration Solr indique une erreur car aucun core n’est encore opérationnel dans les noeuds

http://localhost:8983/solr/#/~cloud

Créer une collection

Pour cela, on va charger le répertoire conf de la collection dans Zookeeper. Nous utilisons pour l’exemple la collection « collection1 » fournie avec la distribution Solr.

Remarque : le wiki SolrCloud, indique comme classpath pour cette opération « -classpath node1/solr-webapp/WEB-INF/lib/* ». Or avec ce classpath, on obtient des erreurs de chargement des dépendances.

Puis, nous créons une collection « collection1 » avec la configuration chargée dans Zookeeper. Cette collection est constituée d’un shard unique mais également d’un réplica. Elle utilise donc les 2 noeuds.

On peut suivre le travail de création dans les consoles Jetty des 2 noeuds

Remarque : Afin de charger les librairies des extensions que l’on a copié dans les répertoires solr/lib de chaque noeud, il faut que le fichier solrconfig.xml sache les trouver. Il faut donc avoir la ligne suivante

Pour tout réinitialiser

Si vous souhaiter pourvoir réinitialiser complètement le cloud, il faut:

  • stopper les 2 noeuds
  • effacer les données de Zookeeper
  • effacer les cores des collections. Par exemple :
  • supprimer les déclarations des cores dans node1/solr/solr.xml et node2/solr/solr.xml
  • redémarrer les noeuds.

Laisser un commentaire

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