This is the process for in-place upgrades of Elasticsearch (ES), using an existing Search feed and index data.
...
Note
thread_pool.write.queue_size: 1000
, xpack.ml.enabled
, xpack.security.enabled
, and prometheus.indices
, and bootstrap.memory_lock
are no longer required.
Verify that all nodes are accounted for, all shards are assigned, and the status is green.
Code Block language bash curl -i 'http://ELASTICSEARCH:9200/_cat/health?v'
...
It fixes
/etc/sysconfig/elasticsearch
to the correct ES6 version (the same as ES7).It increases the
systemd
timeout in/etc/systemd/system/elasticsearch.service.d/override.conf
(see github.com/elastic/elasticsearch/issues/60140)A prompt to continue with the yum upgrade to 7.5.2 appears after refreshing the config files for Elasticsearch 6.
It disables shard allocation and does a POST synced-flush for safer rolling upgrades.
Info title Important Disabling shard allocation or sync-flush can fail to contact the node, but do not proceed to upgrade the next node until the cluster health is green again.
It uninstalls the Prometheus Exporter plugin if it exists.
It shells out to yum to install the Elasticsearch 7 RPM in the current directory or from artifacts.elastic.co, if unavailable.
It updates elasticsearch.yml for version 7 compatibility, including
discovery.initial_master_nodes
instead ofdiscovery.zen.unicast.hosts
, andjvm.options
.It starts the upgraded Elasticsearch 7 and waits for it to be ready.
The cluster re-enables shard allocation and prompts to repeat these two steps on the next node if the cluster health is green or yellow.