# Upgrade procedure of elasticsearch from 1.x to 2.x

**URL:** <https://discuss.elastic.co/t/upgrade-procedure-of-elasticsearch-from-1-x-to-2-x/40236>\
**Category:** Elasticsearch\
**Created:** [January 27, 2016, 1:15pm UTC](https://discuss.elastic.co/t/upgrade-procedure-of-elasticsearch-from-1-x-to-2-x/40236 "2016-01-27T13:15:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sukanta](https://avatars.discourse-cdn.com/v4/letter/s/d2c977/32.png) [@sukanta](https://discuss.elastic.co/u/sukanta)\
**Post date:** [January 27, 2016, 1:15pm UTC](https://discuss.elastic.co/t/upgrade-procedure-of-elasticsearch-from-1-x-to-2-x/40236/1 "2016-01-27T13:15:28Z")

</div>

Hi,

We have around 80 es clusters in our production environment and with terabytes of data .  
Currently we are running with elasticsearch-1.4.1-SNAPSHOT version and now we are planning to update it with 2.1.1 version.

In 2.x version the Multiple path.data striping , In our es configuration we used multiple data directories like this  
path.data: ["/mnt1/data/es","/mnt2/data/es"]

So while upgrading to 2.x es takes 2-3 hrs to become yellow state , I want to know what is the best way we can upgrade with out downtime. I have read the document that you guys mentioned in [https://www.elastic.co/blog/key-point-to-be-aware-of-when-upgrading-from-elasticsearch-1-to-2](https://www.elastic.co/blog/key-point-to-be-aware-of-when-upgrading-from-elasticsearch-1-to-2)

Like building new cluster with 2.x and Dual-feed source event data to both old and new cluster .

I want to know how can we dual feed data on both old and new cluster

Please give some suggestions

Thanks And Regards  
Sukanta

---

<div class="post-metadata">

**Author:** ![nik9000](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nik9000/32/44947_2.png) [@nik9000](https://discuss.elastic.co/u/nik9000)\
**Post date:** [January 27, 2016, 1:43pm UTC](https://discuss.elastic.co/t/upgrade-procedure-of-elasticsearch-from-1-x-to-2-x/40236/2 "2016-01-27T13:43:18Z")

</div>

Dual feeding is something you'd have to implement application side.

I don't know if there is something you can do to speed up data.path work.  
It might be nice to get a sense how much is data.path and how much is the  
replicas drifting from the primary's data. 1.4.1 doesn't have synced flush  
so even if you aren't writing data the new processes can't **know** that  
the primary and the replica have the same data if their files are  
different.

Another old school trick is to build a new replica that replaces the old  
replica but has its bits copied from the primary before the restart. It  
_probably_ will shorten the time to yellow after the restart at the cost of  
the same amount of time before the restart. You do it using the API to move  
shards: just move the replicas off of the nodes they are on. After 1.7 this  
kind of trickery should have no place due to synced flush. It won't do  
anything for the data.path shuffling but that might not be all that long.

---

<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:** [July 5, 2017, 11:21pm UTC](https://discuss.elastic.co/t/upgrade-procedure-of-elasticsearch-from-1-x-to-2-x/40236/3 "2017-07-05T23:21:04Z")

</div>


