• +91-8107108740
  • F-5, F-6 4th Floor Dana Pani Restaurant, Central Spine, Vidhyadhar Nagar Jaipur.
Case Study · Elasticsearch Upgrade

Production‑Safe Elasticsearch Upgrade
from 7.x to 8.x

8Bit guided a production Elasticsearch environment through a staged upgrade — first securing data with a snapshot‑first strategy, then stepping through 7.17.22 before reaching the target 8.12.2 release. Zero data loss, clear rollback options at every phase.

Elasticsearch Upgrade Snapshots RPM Packages Rolling Upgrade Linux Production Cluster
01 · Project Context

Project Context and Upgrade Constraints

The client ran an existing Elasticsearch 7.x cluster in production and needed to migrate to the 8.x series. A direct upgrade from early 7.x to 8.x is not a single hop — Elastic's rolling upgrade path requires an intermediate stop at 7.17 before crossing the major version boundary.

⚠️ Rolling Upgrade Constraint: Rolling upgrades to 8.x are only supported from Elasticsearch 7.17. Clusters on earlier 7.x versions (7.1, 7.2, etc.) must either perform a full cluster restart upgrade, or first upgrade to 7.17 and then proceed to 8.x. 8Bit chose the staged 7.17 path to maintain availability throughout.

🔒
Version Constraint
Rolling upgrades to 8.x are only officially supported starting from Elasticsearch 7.17. Earlier 7.x releases require a staged path through 7.17 first.
📸
Production Safety
Snapshots are mandatory before any major upgrade. They provide a complete data safety net, enabling restoration of any index if the upgrade encounters issues.
Minimal Downtime
The staged upgrade approach — 7.x → 7.17.22 → 8.12.2 — was designed to minimize service interruption at each phase, with clear rollback points throughout.
02 · Snapshot Strategy

Snapshot‑First Upgrade Strategy

Before touching any node, 8Bit establishes a snapshot repository as a non‑negotiable first step. Snapshots serve double duty: they guard against data loss during the upgrade and provide the restore path if any index is missing or corrupted after either phase.

🗄️
Current Cluster
7.x production
📸
Snapshot Repository
path.repo · Kibana
⬆️
7.17.22 Cluster
Phase 1 restore
🚀
8.12.2 Cluster
Phase 2 restore
📸 Snapshot Setup Steps
1
Add path.repo in elasticsearch.yml
Define a shared file‑system path where Elasticsearch can write snapshot data. This directory must be accessible from all nodes in the cluster.
path.repo: ["/path/to/snapshot/repo"]
2
Create repository and snapshots in Kibana
Use Kibana's Snapshot and Restore UI to register the repository pointing to the path defined above, then create a full‑cluster snapshot before proceeding.
3
Snapshot usage: rollback & post‑upgrade restoration
The same snapshot serves both purposes — rolling back to the pre‑upgrade state if a phase fails, and restoring specific or all indices after either upgrade phase if data appears missing.
03 · Phase 1
Phase 1 — Upgrade to 7.17.22

Upgrade to Elasticsearch 7.17.22

Prepare the cluster for 8.x by moving safely to 7.17.22 — the mandatory stepping stone for all 8.x rolling upgrades.

1
Download the 7.17.22 RPM Package
Shell
terminal
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.22-x86_64.rpm
2
Stop Elasticsearch Services
sudo systemctl stop elasticsearch
3
Install the New RPM Package
sudo rpm -Uvh elasticsearch-7.17.22-x86_64.rpm
ℹ️
Flag reference
-U = upgrade · -v = verbose · -h = hash progress indicator
4
Start the Elasticsearch Service
sudo systemctl start elasticsearch
⚠️
Restore If Needed — Phase 1
If any index or data is missing after starting the 7.17.22 service, restore from the snapshot taken in Phase 0. You can choose to restore all indices or only specific indices. After the restore operation completes, start the Elasticsearch service again.
04 · Phase 2
Phase 2 — Upgrade to 8.12.2

Upgrade to Elasticsearch 8.12.2

Perform the final upgrade to 8.x with xpack adjustments and snapshot protection at every step.

1
Download the 8.12.2 RPM Package
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.12.2-x86_64.rpm
2
Stop Elasticsearch Services
sudo systemctl stop elasticsearch
3
Install the 8.12.2 RPM Package
sudo rpm -Uvh elasticsearch-8.12.2-x86_64.rpm
4
Disable xpack in elasticsearch.yml
xpack.security.enabled: false
xpack.security.enrollment.enabled: false
ℹ️
Why disable xpack?
Elasticsearch 8.x enables security (xpack) by default. For environments migrating from a no‑security 7.x setup, disabling xpack here avoids authentication failures and allows the cluster to start with the same access model used in the previous version.
5
Start the Elasticsearch Service
sudo systemctl start elasticsearch
Data Storage & Snapshot Restoration — Phase 2
You can choose to restore either all indices or a particular index from the snapshot. By default, all data is stored automatically after the upgrade. If any problem arises — missing indices, corrupted shards, or unexpected cluster state — restore your data from the snapshot taken before the upgrade.
05 · BENEFITS

Upgrade Service Benefits

Our professional Elasticsearch upgrade service ensures a seamless transition to the latest version with minimal risk and maximum efficiency.

Zero Downtime
Rolling upgrade strategy ensures continuous cluster availability throughout the entire upgrade process.
🔒
Data Safety
Complete backup and validation procedures guarantee data integrity and provide rollback capabilities.
🚀
Enhanced Performance
Access to latest features, security patches, and performance improvements for optimal operations.
Trust 8Bit for your Elasticsearch upgrade needs. Our expert team ensures a smooth, secure, and efficient migration to the latest version with comprehensive support and monitoring throughout the entire process.