Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mise à jour de ElasticSearch #8

Closed
daniel-menard opened this issue Aug 23, 2013 · 2 comments
Closed

Mise à jour de ElasticSearch #8

daniel-menard opened this issue Aug 23, 2013 · 2 comments

Comments

@daniel-menard
Copy link
Member

Sur le serveur, la version installée de elastic search (ES) est la version 0.90.0.0.beta1 qui date de février 2013.

Six autres versions sont sorties depuis (current : 0.90.3).

@ghost ghost assigned daniel-menard Aug 23, 2013
@daniel-menard
Copy link
Member Author

Mise à jour serveur local (mon poste de dev sous win) :

  1. Télécharger le zip de la dernière version :
    https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.3.zip
  2. Dézipper
    Chez moi, c'est dans D:\elasticsearch-0.90.3
  3. (optionnel) Modifier le lanceur D:\elasticsearch-0.90.3\bin\elasticsearch.bat
    • activer la ligne 40 : set JAVA_OPTS=%JAVA_OPTS% -XX:+AggressiveOpts. Je n'ai pas rencontré de pb en activant cette option qui normallement donne de meilleures performances.
    • activer la ligne 49 : set JAVA_OPTS=%JAVA_OPTS% -XX:+UseCondCardMark comme on est sous java 7
  4. Arrêter le ES existant s'il y a lieu et lancer le nouveau : D:\elasticsearch-0.90.3\bin\elasticsearch.bat

Remarque : en faisant comme ça, on ne reprend aucune donnée et il faut tout réindexer.

@daniel-menard
Copy link
Member Author

Mise à jour du serveur :

Sur le serveur, ES a été installé par JV (isvtec) à partir d'un deb obtenu via wget.

Le fichier /etc/init.d/elasticsearch permet de voir comment il est lancé :

# Directory where the ElasticSearch binary distribution resides
ES_HOME=/usr/share/$NAME

# ElasticSearch data directory
DATA_DIR=/var/lib/elasticsearch

# ElasticSearch configuration directory
CONF_DIR=/etc/elasticsearch

# ElasticSearch configuration file (elasticsearch.yml)
CONF_FILE=/etc/elasticsearch/elasticsearch.yml

# ElasticSearch log directory
LOG_DIR=/var/log/elasticsearch

# ElasticSearch work directory
WORK_DIR=/tmp/elasticsearch

Pour faire la mise à jour :

  1. récupérer le deb de la version actuelle (stocker qq part dans le home dir) :
$ cd ~
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.3.deb
  1. Passer en admin et lancer l'instal du deb avec dpkg :
$ sudo -s
$ dpkg -i elasticsearch-0.90.3.deb

L'installation se passe bien, mais ES ne peut pas être redémarré :

(Reading database ... 48320 files and directories currently installed.)
Preparing to replace elasticsearch 0.90.0.Beta1 (using elasticsearch-0.90.3.deb) ...
[ ok ] Stopping ElasticSearch Server:.
Unpacking replacement elasticsearch ...
Setting up elasticsearch (0.90.3) ...
Installing new version of config file /etc/init.d/elasticsearch ...
Installing new version of config file /etc/elasticsearch/elasticsearch.yml ...
[....] Starting ElasticSearch Server:start-stop-daemon: unrecognized option '--status'
Try 'start-stop-daemon --help' for more information.
start-stop-daemon: unrecognized option '--status'
Try 'start-stop-daemon --help' for more information.
 failed!

Recherche de la solution :
Si on regarde le statut de ES, effectivement, on voit qu'il n'est pas lancé :

$ /etc/init.d/elasticsearch status
[ ok ] ElasticSearch Server is not running..

En fait cela vient du fait que notre version (ancienne) de start-stop-daemon ne reconnait pas l'option --status.
C'est un problème connu : elastic/elasticsearch#3452
Et qui a été résolu dans les versions récentes (mais pas dans le deb téléchargé).
On va écraser le script /etc/init.d/elasticsearch par la version corrigée :

$ sudo -s
$ cd /etc/init.d
$ wget https://raw.github.com/elasticsearch/elasticsearch/master/src/deb/init.d/elasticsearch

On peut maintenant tester si ES démarre :

$ /etc/init.d/elasticsearch
[ ok ] Starting ElasticSearch Server:.

Et maintenant c'est ok :

$ /etc/init.d/elasticsearch status
[ ok ] elasticsearch is running.

On peut aussi vérifier que le serveur ES répond bien en l'interrogeant directement :

$ curl http://localhost:9200/
{
  "ok" : true,
  "status" : 200,
  "name" : "Alkhema",
  "version" : {
    "number" : "0.90.3",
    "build_hash" : "5c38d6076448b899d758f29443329571e2522410",
    "build_timestamp" : "2013-08-06T13:18:31Z",
    "build_snapshot" : false,
    "lucene_version" : "4.4"
  },
  "tagline" : "You Know, for Search"
}

Terminé !
On est maintenant en 0.90.3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant