# SImple question: Is elasticsearch production use ready?

**URL:** <https://discuss.elastic.co/t/simple-question-is-elasticsearch-production-use-ready/5622>\
**Category:** Elasticsearch\
**Created:** [October 18, 2011, 11:22am UTC](https://discuss.elastic.co/t/simple-question-is-elasticsearch-production-use-ready/5622 "2011-10-18T11:22:47Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tomasz\_Kloc](https://avatars.discourse-cdn.com/v4/letter/t/958977/32.png) [@Tomasz\_Kloc](https://discuss.elastic.co/u/Tomasz_Kloc)\
**Post date:** [October 18, 2011, 11:22am UTC](https://discuss.elastic.co/t/simple-question-is-elasticsearch-production-use-ready/5622/1 "2011-10-18T11:22:47Z")

</div>

We're using MongoDB with dynamic collection schema and elasticsearch  
looks like what we need now. Does someone use it in production  
environment with high traffic?  
Is it _stable_?

---

<div class="post-metadata">

**Author:** ![Pavel\_Penchev](https://avatars.discourse-cdn.com/v4/letter/p/ec9cab/32.png) [@Pavel\_Penchev](https://discuss.elastic.co/u/Pavel_Penchev)\
**Post date:** [October 18, 2011, 11:34am UTC](https://discuss.elastic.co/t/simple-question-is-elasticsearch-production-use-ready/5622/2 "2011-10-18T11:34:33Z")

</div>

Short answer is "sure!".

Take a look at some prominent users here  
[Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/users/) or browse the mailing list - there  
are plenty of use cases mentioned here.

On 18.10.2011 14:22, drul wrote:

> We're using MongoDB with dynamic collection schema and elasticsearch  
> looks like what we need now. Does someone use it in production  
> environment with high traffic?  
> Is it _stable_?

---

<div class="post-metadata">

**Author:** ![karmi](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/karmi/32/44951_2.png) [@karmi](https://discuss.elastic.co/u/karmi)\
**Post date:** [October 18, 2011, 2:02pm UTC](https://discuss.elastic.co/t/simple-question-is-elasticsearch-production-use-ready/5622/3 "2011-10-18T14:02:27Z")

</div>

Yes. There are lots of people using it with vast volumes of data,  
there are many using it for regular searches, and it's very stable in  
all the usual meanings of the word.

As suggested, have a look at [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/users/),  
where you'll find some case studies.

On Oct 18, 1:22 pm, drul [tomek.kloc....@gmail.com](mailto:tomek.kloc....@gmail.com) wrote:

> We're using MongoDB with dynamic collection schema and elasticsearch  
> looks like what we need now. Does someone use it in production  
> environment with high traffic?  
> Is it _stable_?

---

<div class="post-metadata">

**Author:** ![dbenson](https://avatars.discourse-cdn.com/v4/letter/d/958977/32.png) [@dbenson](https://discuss.elastic.co/u/dbenson)\
**Post date:** [October 24, 2011, 11:35pm UTC](https://discuss.elastic.co/t/simple-question-is-elasticsearch-production-use-ready/5622/4 "2011-10-24T23:35:57Z")

</div>

We have been running ES for just about a year in production. It has been  
far, far more stable (not to mention 20x faster) than the enterprise search  
engine we replaced.

David

---

<div class="post-metadata">

**Author:** ![Yeroc\_2](https://avatars.discourse-cdn.com/v4/letter/y/9de053/32.png) [@Yeroc\_2](https://discuss.elastic.co/u/Yeroc_2)\
**Post date:** [October 25, 2011, 5:13pm UTC](https://discuss.elastic.co/t/simple-question-is-elasticsearch-production-use-ready/5622/5 "2011-10-25T17:13:48Z")

</div>

How do you manage upgrades? One hesitation I have with ElasticSearch  
currently is that it seems a full outage would be necessary or else a  
separate cluster in order to perform an upgrade as it's not possible  
(currently) to perform rolling upgrades by taking a node out of service,  
upgrading it and then having it re-connect to the cluster containing some  
nodes with an older release version.

Corey

---

<div class="post-metadata">

**Author:** ![ppearcy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ppearcy/32/980_2.png) [@ppearcy](https://discuss.elastic.co/u/ppearcy)\
**Post date:** [October 25, 2011, 5:28pm UTC](https://discuss.elastic.co/t/simple-question-is-elasticsearch-production-use-ready/5622/6 "2011-10-25T17:28:47Z")

</div>

Multiple data centers 🙂

You are correct, though, rolling upgrades between major version will  
not always work and I wouldn't recommend trying.

For our dev/QA envs, we don't have multiple DCs, however, with a  
simple install script, I can do an upgrade and be back to yellow  
within 2 minutes.

Best Regards,  
Paul

On Oct 25, 11:13 am, Yeroc [cpuff...@gmail.com](mailto:cpuff...@gmail.com) wrote:

> How do you manage upgrades? One hesitation I have with Elasticsearch  
> currently is that it seems a full outage would be necessary or else a  
> separate cluster in order to perform an upgrade as it's not possible  
> (currently) to perform rolling upgrades by taking a node out of service,  
> upgrading it and then having it re-connect to the cluster containing some  
> nodes with an older release version.
> 
> Corey

---

<div class="post-metadata">

**Author:** ![Clinton\_Gormley](https://avatars.discourse-cdn.com/v4/letter/c/50afbb/32.png) [@Clinton\_Gormley](https://discuss.elastic.co/u/Clinton_Gormley)\
**Post date:** [October 26, 2011, 5:21am UTC](https://discuss.elastic.co/t/simple-question-is-elasticsearch-production-use-ready/5622/7 "2011-10-26T05:21:25Z")

</div>

On Tue, 2011-10-25 at 10:13 -0700, Yeroc wrote:

> How do you manage upgrades? One hesitation I have with Elasticsearch  
> currently is that it seems a full outage would be necessary or else a  
> separate cluster in order to perform an upgrade as it's not possible  
> (currently) to perform rolling upgrades by taking a node out of  
> service, upgrading it and then having it re-connect to the cluster  
> containing some nodes with an older release version.

This is not perfect, but gets me pretty close to a clean upgrade on a  
live system:

- We are running two nodes

- Our indices are set up with 1 replica, so all data is on both  
nodes

- We are using the Perl API which has failover builtin: ie it accepts  
a default list of nodes to try to connect to. If any node fails, then  
it uses the live and default node lists to find a new live-list of  
nodes.

- First: back up your ./data/ dir

- Shut down node 2, and upgrade ES (clients fall back to just  
using node 1)

- Change the cluster name for node 2, and move the  
./data/CLUSTERNAME directory to match the new cluster name

- Block port 9200 on the firewall (to stop node2 from responding to  
client requests)

- Start node 2 -\> it recovers

- Run a script which updates node2 with any recent changes on  
node 1

- Unblock port 9200 on node 2, and simultaneously block port 9200  
on node 1 -\> all clients switch from node1 to node2

- Rerun the recent-changes script

- Shut down node 1, upgrade, change the cluster name, move  
the ./data dir, restart, wait for recovery, and unblock port 9200

- Run a final script to check and correct any data inconsistencies  
which might have crept in

clint

---

<div class="post-metadata">

**Author:** ![medcl\_net](https://avatars.discourse-cdn.com/v4/letter/m/90ced4/32.png) [@medcl\_net](https://discuss.elastic.co/u/medcl_net)\
**Post date:** [October 26, 2011, 6:13am UTC](https://discuss.elastic.co/t/simple-question-is-elasticsearch-production-use-ready/5622/8 "2011-10-26T06:13:59Z")

</div>

hey,  
we pushed elasticsearch into production more than 1 year,  
stable and powerful.

-----Original Message-----  
From: Clinton Gormley  
Sent: Wednesday, October 26, 2011 1:21 PM  
To: [elasticsearch@googlegroups.com](mailto:elasticsearch@googlegroups.com)  
Subject: Re: SImple question: Is elasticsearch production use ready?

On Tue, 2011-10-25 at 10:13 -0700, Yeroc wrote:

> How do you manage upgrades? One hesitation I have with Elasticsearch  
> currently is that it seems a full outage would be necessary or else a  
> separate cluster in order to perform an upgrade as it's not possible  
> (currently) to perform rolling upgrades by taking a node out of  
> service, upgrading it and then having it re-connect to the cluster  
> containing some nodes with an older release version.

This is not perfect, but gets me pretty close to a clean upgrade on a  
live system:

- We are running two nodes

- Our indices are set up with 1 replica, so all data is on both  
nodes

- We are using the Perl API which has failover builtin: ie it accepts  
a default list of nodes to try to connect to. If any node fails, then  
it uses the live and default node lists to find a new live-list of  
nodes.

- First: back up your ./data/ dir

- Shut down node 2, and upgrade ES (clients fall back to just  
using node 1)

- Change the cluster name for node 2, and move the  
./data/CLUSTERNAME directory to match the new cluster name

- Block port 9200 on the firewall (to stop node2 from responding to  
client requests)

- Start node 2 -\> it recovers

- Run a script which updates node2 with any recent changes on  
node 1

- Unblock port 9200 on node 2, and simultaneously block port 9200  
on node 1 -\> all clients switch from node1 to node2

- Rerun the recent-changes script

- Shut down node 1, upgrade, change the cluster name, move  
the ./data dir, restart, wait for recovery, and unblock port 9200

- Run a final script to check and correct any data inconsistencies  
which might have crept in

clint

---

<div class="post-metadata">

**Author:** ![Frank\_Hsueh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/frank_hsueh/32/2889_2.png) [@Frank\_Hsueh](https://discuss.elastic.co/u/Frank_Hsueh)\
**Post date:** [October 26, 2011, 4:54pm UTC](https://discuss.elastic.co/t/simple-question-is-elasticsearch-production-use-ready/5622/9 "2011-10-26T16:54:58Z")

</div>

> we pushed elasticsearch into production more than 1 year,

out of curiosity, how do you handle major version upgrades?

looking at ES's download page on github [1], there have been quite a few  
major version upgrades in the last few years.

[1] [https://github.com/elasticsearch/elasticsearch/downloads](https://github.com/elasticsearch/elasticsearch/downloads)

On Tue, Oct 25, 2011 at 11:13 PM, [medcl2000@gmail.com](mailto:medcl2000@gmail.com) wrote:

> hey,  
> we pushed elasticsearch into production more than 1 year,  
> stable and powerful.
> 
> -----Original Message----- From: Clinton Gormley Sent: Wednesday, October  
> 26, 2011 1:21 PM To: [elasticsearch@googlegroups.com](mailto:elasticsearch@googlegroups.com) Subject: Re: SImple  
> question: Is elasticsearch production use ready?  
> On Tue, 2011-10-25 at 10:13 -0700, Yeroc wrote:
> 
> > How do you manage upgrades? One hesitation I have with Elasticsearch  
> > currently is that it seems a full outage would be necessary or else a  
> > separate cluster in order to perform an upgrade as it's not possible  
> > (currently) to perform rolling upgrades by taking a node out of  
> > service, upgrading it and then having it re-connect to the cluster  
> > containing some nodes with an older release version.
> 
> This is not perfect, but gets me pretty close to a clean upgrade on a  
> live system:
> 
> - We are running two nodes
> 
> - Our indices are set up with 1 replica, so all data is on both nodes
> 
> - We are using the Perl API which has failover builtin: ie it accepts a  
> default list of nodes to try to connect to. If any node fails, then  
> it uses the live and default node lists to find a new live-list of  
> nodes.
> 
> - First: back up your ./data/ dir
> 
> - Shut down node 2, and upgrade ES (clients fall back to just  
> using node 1)
> 
> - Change the cluster name for node 2, and move the ./data/CLUSTERNAME  
> directory to match the new cluster name
> 
> - Block port 9200 on the firewall (to stop node2 from responding to  
> client requests)
> 
> - Start node 2 -\> it recovers
> 
> - Run a script which updates node2 with any recent changes on  
> node 1
> 
> - Unblock port 9200 on node 2, and simultaneously block port 9200  
> on node 1 -\> all clients switch from node1 to node2
> 
> - Rerun the recent-changes script
> 
> - Shut down node 1, upgrade, change the cluster name, move  
> the ./data dir, restart, wait for recovery, and unblock port 9200
> 
> - Run a final script to check and correct any data inconsistencies which  
> might have crept in  
> clint

--  
Frank Hsueh | [frank.hsueh@gmail.com](mailto:frank.hsueh@gmail.com)

---

<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 6, 2017, 3:50am UTC](https://discuss.elastic.co/t/simple-question-is-elasticsearch-production-use-ready/5622/10 "2017-07-06T03:50:50Z")

</div>


