Upgrading from Elasticsearch 1.7.1
Elasticsearch 2.3.3 includes advances in speed, security, scalability, and hardware efficiency and supports compatibility with Linux standards and newer tool releases. Elasticsearch 2.3.3 is a fundamental leap from 1.7.1, so much so that upgrading is actually a migration.
Given the complexities of converting legacy data, the easiest path is to start fresh: provision a new ES cluster (machines or VMs), install ES 2.3.3 on those servers, and create a new feed to this cluster. Swarm 9 will continue to support your old primary feed with the ES 1.7.1 cluster while it builds the index data for the new feed, which means that searching remains available for your users. Once the new feed is built, you make it the primary and the migration is complete. Delete the legacy search cluster entirely unless you have CloudScaler Content Metering data to preserve.
This is an overview of the migration process:
Exceptions
This upgrade strategy does not fit certain situations:
- You cannot provision a new search cluster.
- You have a business need to convert your CloudScaler Content Metering data.
- You use parallel upload in production and need support for uploads to complete during the migration phase (uploads of parts are unaffected).
For such cases, contact Support for assistance.
Pre-Upgrade Checklist
Migration Check | Elasticsearch 2.x has many breaking changes. In particular, if a custom metadata field name includes a period/dot (x-sample-meta-bad.field.name ), your existing data cannot be upgraded. Elasticsearch recommends that you run its migration plugin to check for problems:
|
---|---|
Swarm Requirements |
|
New ES Cluster |
|
Install ES 2.3.3
Important
Note
Swarm Storage lets you create more than one Search feed so that you can transition from using one Elasticsearch cluster to another. During the transition, continue using the primary feed for queries; the second feed is incomplete until it fully clears its backlog. When the second feed is caught up, transition to it (marking it as primary) as soon as reasonable for your operations. When you verify that it is working as the new primary feed target, delete the original feed. Having two feeds is for temporary use only because every feed incurs cluster activity, even when paused.
Switch to ES 2.3.3
Wait until the new feed has completed indexing the cluster, when the feed shows 0 "pending evaluation".
Tip
Set calendar reminders to check on the progress. How many days this takes depends on the cluster's size and load, and you could forget to finish this upgrade.
When the new feed is ready, switch the primary search feed to the new feed ID. In the legacy Admin Console (
http://<storage·cluster>:90
), go to Settings and change the Default Search feed from <old-feed-id> to <new-feed-id>.Operate with both feeds for several days. If there is a problem, you can restore the old feed to be primary during troubleshooting.
- Upgrade CloudScaler to Content Gateway.
After this confirmation period, delete the old feed. In the legacy Admin Console (
http://<storage·cluster>:90
), go to Settings and delete the old feed.Decommission your ES 1.7.1 cluster to reclaim those resources.
© DataCore Software Corporation. · https://www.datacore.com · All rights reserved.