We are planning to upgrade elasticsearch from version 2.4 to 6.8. The current version of elasticsearch was an upgrade from 1.7 (side by side upgrade. Indices were restored to the new cluster). Since the indices are created by version 1.7, we are planning to perform the following steps to upgrade the cluster.
- We have to upgrade the indices that are created in 1.7 to 2.4 by reindexing them before we can restore the indices to a new cluster with version 5.x. Otherwise, the nodes from the new cluster won't start.
- Once the re-indexing is done (step 1), we can take a fresh snapshot from the existing cluster (2.4) and restore it to the new cluster with version 5.x (side by side upgrade).
- We have to reindex the indices on the new cluster to 5.x before we can perform an in-place upgrade of the new cluster to 6.x.
- Perform the in-place upgrade by installing new binaries and removing old binaries and pointing to the new .yml file.
I have omitted steps like the template, indices settings, and mapping changes to keep the conversation around the indices version. Please let me know if the above steps make sense or need to modify them.