ElasticSearch Update 6.7.0
Cet article présente la mise à jour de ElasticSearch
en version 6.7.0
.
Dans le cadre de cet article, la mise à jour est effectuée manuellement avec le même principe que pour l'installation initiale. Théoriquement, la mise à jour est simple. Cependant il est nécessaire de n'oublier aucune étape.
Attention tous les produits de la suite ne sont pas forcément compatibles. Par exemple, il est nécessaire de mettre à jour Kibana
dans la même version, soit 6.4.X
, en même temps.
Sommaire
Votre avis
Nobody voted on this yet
|
|
Téléchargement
L'application est téléchargée dans le répertoire /var/opt/elasticsearch
.
#sudo wget -P /var/opt/elasticsearch https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.tar.gz
Installation
L'application va être installée sous /var/opt/elasticsearch
, avec modification de l'emplacement racine pour être 6.7.0
.
#sudo tar --transform 's/^elasticsearch-6.7.0/6.7.0/' -C /var/opt/elasticsearch -xzvf /var/opt/elasticsearch/elasticsearch-6.7.0.tar.gz
Le fichier téléchargé peut être supprimé.
#sudo rm /var/opt/elasticsearch/elasticsearch-6.7.0.tar.gz
Propriétaire fichiers
L'installation a été réalisée avec le compte root
. Il est préférable de donner la propriété au compte de démarrage du serveur web, soit elasticsearch
dans le cadre de cette installation.
#sudo chown -R elasticsearch:elasticsearch /var/opt/elasticsearch/6.7.0
Sécurisation
Les droits mis en place seront uniquement pour le compte d'exécution, soit elasticsearch
.
#sudo chmod -R go-rwx /var/opt/elasticsearch/6.7.0
Arrêt
Dans le cadre de cette installation, l'instance est arrêté. Ceci ne serait pas nécessaire en utilisant un cluster. De plus pour éviter toute erreur potentielle, les applications périphériques, Logstash
/ Kibana
/ Beats
, sont arrêtées.
#sudo systemctl stop elasticsearch
Fichiers communs
Lors de l'installation, les fichiers de configuration ont été placés dans /var/opt/elasticsearch/common/config
. Ceux-ci ne sont pas modifiés entre les deux versions et aucune action n'est requise.
Réinstallation Plugins
Il est nécessaire de refaire l'installation des plugins utilisés, voir documentation officielle. Pour cette instance, les plugins Ingest-GeoIP
et Ingest-User-Agent
sont réinstallés.
Attention pour cette version le plugin ingest-geoip
a été inclus dans la distribution, cf https://www.elastic.co/guide/en/elasticsearch/plugins/6.7/ingest-geoip.html.
Cependant, la précédente installation stocke des bases d'information dans le répertoire de configuration, à savoir /var/opt/elasticsearch/common/config/ingest-geoip
dans le cadre de cette installation. Si ces fichiers sont toujours existant, une erreur se produit lors du redémarrage.
[WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [ejn-1] uncaught exception in thread [main] org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: java.io.IOException: expected database [GeoLite2-ASN.mmdb] to not exist in [/var/opt/elasticsearch/common/config/ingest-geoip] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.7.0.jar:6.7.0] at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.7.0.jar:6.7.0] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.7.0.jar:6.7.0] Caused by: java.lang.RuntimeException: java.io.IOException: expected database [GeoLite2-ASN.mmdb] to not exist in [/var/opt/elasticsearch/common/config/ingest-geoip] at org.elasticsearch.ingest.geoip.IngestGeoIpPlugin.getProcessors(IngestGeoIpPlugin.java:78) ~[?:?] at org.elasticsearch.ingest.IngestService.processorFactories(IngestService.java:105) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.ingest.IngestService.<init>(IngestService.java:88) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.node.Node.<init>(Node.java:387) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.node.Node.<init>(Node.java:266) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:212) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:212) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-6.7.0.jar:6.7.0] ... 6 more Caused by: java.io.IOException: expected database [GeoLite2-ASN.mmdb] to not exist in [/var/opt/elasticsearch/common/config/ingest-geoip] at org.elasticsearch.ingest.geoip.IngestGeoIpPlugin.assertDatabaseExistence(IngestGeoIpPlugin.java:150) ~[?:?] at org.elasticsearch.ingest.geoip.IngestGeoIpPlugin.loadDatabaseReaders(IngestGeoIpPlugin.java:102) ~[?:?] at org.elasticsearch.ingest.geoip.IngestGeoIpPlugin.getProcessors(IngestGeoIpPlugin.java:76) ~[?:?] at org.elasticsearch.ingest.IngestService.processorFactories(IngestService.java:105) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.ingest.IngestService.<init>(IngestService.java:88) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.node.Node.<init>(Node.java:387) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.node.Node.<init>(Node.java:266) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:212) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:212) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.7.0.jar:6.7.0] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-6.7.0.jar:6.7.0] ... 6 more
comme la mise à jour s'effectue à l'aide de lien, il suffit de supprimer, ou déplacer, le répertoire contenant les bases.
#sudo rm -rf /var/opt/elasticsearch/common/config/ingest-geoip
Il en est de même pour ingest-user-agent
, cf https://www.elastic.co/guide/en/elasticsearch/plugins/6.7/ingest-user-agent.html.
Référencement version
Afin de faciliter les montées de versions, le lien /var/opt/elasticsearch/installed
a été mis en place et doit être mis à jour.
#sudo rm /var/opt/elasticsearch/installed #sudo ln -s /var/opt/elasticsearch/6.7.0 /var/opt/elasticsearch/installed #sudo chown -h elasticsearch:elasticsearch /var/opt/elasticsearch/installed
Redémarrage
L'instance peut être redémarrée.
#sudo systemctl start elasticsearch
Voir aussi
Documentation officielle: https://www.elastic.co/guide/en/elasticsearch/reference/6.7/setup-upgrade.html
https://www.elastic.co/guide/en/elasticsearch/reference/6.7/rolling-upgrades.html
https://www.elastic.co/guide/en/elasticsearch/plugins/6.7/listing-removing-updating.html
Release Notes: https://www.elastic.co/guide/en/elasticsearch/reference/6.7/release-notes-6.7.0.html