# Elasticsearch migration from 7.17 to 8.15

**URL:** <https://discuss.elastic.co/t/elasticsearch-migration-from-7-17-to-8-15/384978>\
**Category:** Elasticsearch\
**Created:** [February 9, 2026, 3:24pm UTC](https://discuss.elastic.co/t/elasticsearch-migration-from-7-17-to-8-15/384978 "2026-02-09T15:24:37Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![zaeemmasood](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/zaeemmasood/32/102383_2.png) [@zaeemmasood](https://discuss.elastic.co/u/zaeemmasood)\
**Post date:** [February 9, 2026, 3:24pm UTC](https://discuss.elastic.co/t/elasticsearch-migration-from-7-17-to-8-15/384978/1 "2026-02-09T15:24:37Z")

</div>

We need to upgrade from ES 7.17.3 to 8.15.2. We have done the following so far:

1. Ran Upgrade Assistant on 7.17.3 and fixed any reported “Critical” issues. No Critical issue is being reported now.
2. Taken snapshot on a NAS mounted on all the nodes

Now we intend to build a parallel 8.15.2 ES cluster on the same hosts and do the following:

1. Create a repository (in the new Kibana) pointing to the NAS where 7.17.3 snapshot was stored
2. Restore the snapshot to the new cluster.

Please advise if this approach looks good.

Thanks

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [February 9, 2026, 4:11pm UTC](https://discuss.elastic.co/t/elasticsearch-migration-from-7-17-to-8-15/384978/2 "2026-02-09T16:11:52Z")

</div>

8.15.2 was released over 16 months ago so it’s missing out on many improvements found in newer 8.x versions. I strongly recommend going straight onto the most recent version, currently 8.19.11.

[These docs](https://www.elastic.co/guide/en/elastic-stack/8.19/upgrading-elastic-stack.html#prepare-to-upgrade) describe the recommended upgrade process. You would normally upgrade the cluster in-place rather than setting up a brand-new cluster as you suggest.

---

<div class="post-metadata">

**Author:** ![zaeemmasood](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/zaeemmasood/32/102383_2.png) [@zaeemmasood](https://discuss.elastic.co/u/zaeemmasood)\
**Post date:** [February 9, 2026, 4:24pm UTC](https://discuss.elastic.co/t/elasticsearch-migration-from-7-17-to-8-15/384978/3 "2026-02-09T16:24:48Z")

</div>

Thanks. Will go for 8.19.11 as you advised on this self-managed cluster.

Considering I am doing this for the first time, for some reason creating a new cluster and restoring old snapshot seems to be a safer and less error prone/ intrusive option to me.

> [@zaeemmasood](#):
>
> - Create a repository (in the new Kibana) pointing to the NAS where 7.17.3 snapshot was stored
> - Restore the snapshot to the new cluster.

Please guide me if the steps above would do the needful.

Thanks again!

---

<div class="post-metadata">

**Author:** ![leandrojmp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/leandrojmp/32/107231_2.png) [@leandrojmp](https://discuss.elastic.co/u/leandrojmp)\
**Post date:** [February 9, 2026, 5:17pm UTC](https://discuss.elastic.co/t/elasticsearch-migration-from-7-17-to-8-15/384978/4 "2026-02-09T17:17:59Z")

</div>

> [@zaeemmasood](#):
>
> Considering I am doing this for the first time, for some reason creating a new cluster and restoring old snapshot seems to be a safer and less error prone/ intrusive option to me.

This adds a lot of extra work and may introduce some issues.

What kind of snapshot are you talking about, snapshot of your data or a full cluster snapshot including system indices?

If you are including system indices this may not work, because some migration may be required, and this is done during the upgrade of Elasticsearch and Kibana.

Since you have a snapshot, I would simple upgrade the cluster and in case of any issue restore it.

---

<div class="post-metadata">

**Author:** ![RainTown](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/raintown/32/140206_2.png) [@RainTown](https://discuss.elastic.co/u/RainTown)\
**Post date:** [February 9, 2026, 5:30pm UTC](https://discuss.elastic.co/t/elasticsearch-migration-from-7-17-to-8-15/384978/5 "2026-02-09T17:30:02Z")

</div>

> [@zaeemmasood](#):
>
> We need to upgrade from ES 7.17.3 to 8.15.2

What a coincidence, someone was doing same, same versions, last week in [this](https://discuss.elastic.co/t/elasticsearch-upgrade-from-7-to-8/384901) thread

Ah, it was you 😉

It's not really considered good etiquette to open parallel threads on essentially the same topic.

> [@zaeemmasood](#):
>
> Thanks. Will go for 8.19.11 as you advised

Good decision. You were told 8.15.x was ages old on the other thread.

The other thread stalled when it was suggested you do the same 7.x --\> 8.x upgrade on a throwaway environment first. You wrote:

"It is hard to get another environment for trial/testing purposes"

I am glad you have solved this issue and are able to deploy a completely different parallel cluster!

Anyways, I agree with @leandrojmp and @DavidTurner - in your situation I think you have better chances with an upgrade which, IMhO, is significantly simpler and is likely safer too.

---

<div class="post-metadata">

**Author:** ![zaeemmasood](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/zaeemmasood/32/102383_2.png) [@zaeemmasood](https://discuss.elastic.co/u/zaeemmasood)\
**Post date:** [February 9, 2026, 5:38pm UTC](https://discuss.elastic.co/t/elasticsearch-migration-from-7-17-to-8-15/384978/6 "2026-02-09T17:38:06Z")

</div>

Thanks. I will adopt the approach of doing an in-place upgrade of the instances.

---

<div class="post-metadata">

**Author:** ![zaeemmasood](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/zaeemmasood/32/102383_2.png) [@zaeemmasood](https://discuss.elastic.co/u/zaeemmasood)\
**Post date:** [February 9, 2026, 5:41pm UTC](https://discuss.elastic.co/t/elasticsearch-migration-from-7-17-to-8-15/384978/7 "2026-02-09T17:41:00Z")

</div>

My apologies! I opened a new thread as I thought it would be better as I would be discussing a new approach.

---

<div class="post-metadata">

**Author:** ![RainTown](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/raintown/32/140206_2.png) [@RainTown](https://discuss.elastic.co/u/RainTown)\
**Post date:** [February 10, 2026, 2:00pm UTC](https://discuss.elastic.co/t/elasticsearch-migration-from-7-17-to-8-15/384978/8 "2026-02-10T14:00:27Z")

</div>

OK, so I have reasonably good news for you.

I setup a single node 7.17.3 cluster on a throwaway environment with effectively same elasticsearch.yml file as you shared on the other thread. aAd populated some indices and some dashboards while on 7.17.3.

Note I had to add the passwords for the builtin users - elastic, kibana\_system, etc.

I then upgraded to 7.17.29, which is latest in 7.17.x. Both kibana and elasticsearch. No issues found.

I then upgraded to 8.19.10, which is the latest in the 8.x series.

EDIT: I forgot about 8.19.11! In meantime, I upgraded the node to 9.3.0, again without difficulty though I had to re-index my 7.x-created-indices.

elasticsearch starts fine.

kibana had a few more small issues, due to how logging works, and I had to fiddle around with the systemd kibana.service. I am using Ubuntu 24.04.3 LTS, but it works fine.

This is the now upgraded cluster:

```auto
# curl -s -k -u elastic:changeme http://localhost:9200/
{
  "name" : "HOSTNAME",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "B6BANQ8aTUS_GwUKMnPEgA",
  "version" : {
    "number" : "8.19.10",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "493241b351be6d9f40d52a1406c91a23b4148821",
    "build_date" : "2026-01-08T22:07:49.939644068Z",
    "build_snapshot" : false,
    "lucene_version" : "9.12.2",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

```

which is still using exactly same elasticsearch,yml it was with 7.x

```auto
cluster.name: elasticsearch
ingest.geoip.downloader.enabled: false
node.name: HOSTNAME
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: /.*/
discovery.seed_hosts: ["HOSTNAME"]
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /etc/elasticsearch/certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/certs/elastic-certificates.p12

```

---

<div class="post-metadata">

**Author:** ![zaeemmasood](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/zaeemmasood/32/102383_2.png) [@zaeemmasood](https://discuss.elastic.co/u/zaeemmasood)\
**Post date:** [February 11, 2026, 9:53pm UTC](https://discuss.elastic.co/t/elasticsearch-migration-from-7-17-to-8-15/384978/9 "2026-02-11T21:53:00Z")

</div>

Thanks a lot! This is very useful.
