# Simplest upgrade data from ElasticSearch 2 to ElasticSearch 6?

**URL:** <https://discuss.elastic.co/t/simplest-upgrade-data-from-elasticsearch-2-to-elasticsearch-6/143298>\
**Category:** Elasticsearch\
**Created:** [August 7, 2018, 9:51am UTC](https://discuss.elastic.co/t/simplest-upgrade-data-from-elasticsearch-2-to-elasticsearch-6/143298 "2018-08-07T09:51:27Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ujjain](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ujjain/32/27378_2.png) [@ujjain](https://discuss.elastic.co/u/ujjain)\
**Post date:** [August 7, 2018, 9:51am UTC](https://discuss.elastic.co/t/simplest-upgrade-data-from-elasticsearch-2-to-elasticsearch-6/143298/1 "2018-08-07T09:51:28Z")

</div>

We're looking to migrate our clusters with ElasticSearch 2.x to the latest version. What is the simplest way to do this?

I already wrote a deploy script for deploying the ELK 2 stack and the ELK 6 stack. Unfortunately ElasticSearch 6.x cannot read data from ElasticSearch 2.x.

**Go via ElasticSearch 5**

Is it worth to make also a deploy script for an ELK-5, so it will automatically upgrade all my data without data loss? It's mostly logs.

Then we'd have to do 2 deploys on all environments and ElasticSearch would convert all data for us from the old to the newer version.

**ElasticSearch 2 and 6 next to each other**

Can we not better change the fluentd configuration to write log files to both ELK-2 and ELK-6 for a week at the same time. Then we delete the ELK-2 cluster a week later? That way we don't have to do weird stuff with building a new ElasticSearch-5 script and going through 2 deploys and 2 data upgrades.

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [August 7, 2018, 9:57am UTC](https://discuss.elastic.co/t/simplest-upgrade-data-from-elasticsearch-2-to-elasticsearch-6/143298/2 "2018-08-07T09:57:37Z")

</div>

I'd do blue/green deployment and a remote reindex from the 2.X cluster into the 6.X cluster.

---

<div class="post-metadata">

**Author:** ![ujjain](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ujjain/32/27378_2.png) [@ujjain](https://discuss.elastic.co/u/ujjain)\
**Post date:** [August 7, 2018, 1:28pm UTC](https://discuss.elastic.co/t/simplest-upgrade-data-from-elasticsearch-2-to-elasticsearch-6/143298/3 "2018-08-07T13:28:33Z")

</div>

> [@warkolm](#):
>
> I'd do blue/green deployment and a remote reindex from the 2.X cluster into the 6.X cluster.

Would we need to reindex to a different index-name? Or could we keep the same names? We have 7 indices with names like logstash-2018.08.01/02/03/04/05/06/07.

Or do we need to run a command to migrate the data into a new index e.g. logstash-2018.08.01-elasticsearch6? In that case we still have to reconfigure fluentd to send data to both destinations.

We are looking to upgrade from Elasticsearch 2.1.1 to Elasticsearch 6.3.2 by the way.

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [August 8, 2018, 12:27am UTC](https://discuss.elastic.co/t/simplest-upgrade-data-from-elasticsearch-2-to-elasticsearch-6/143298/4 "2018-08-08T00:27:24Z")

</div>

You can keep the same index name.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [September 5, 2018, 12:27am UTC](https://discuss.elastic.co/t/simplest-upgrade-data-from-elasticsearch-2-to-elasticsearch-6/143298/5 "2018-09-05T00:27:25Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
