I currently have elasticsearch on 3 production servers with an average of
30 sites per server.
Initially version 0.20.6 of elasticsearch was installed but I'd like to
move them all up to 1.1.1 to take advantage of new features but also to not
fall behind even more then has already happened.
The option of upgrading to 1.1.1 on the servers and then regenerating all
indexes is something that could be done as a last option but since each
site depends on the search so extensively and would need to be down for
some time I'd rather avoid that if at all possible.
Here are my questions:
Do indexes created in 0.20.6 work in 1.1.1?
Has anyone ever ran more then one instance of elasticsearch, both with
different version numbers on the same server?
Are there other options here that I haven't considered that someone else
has used successfully in this kind of situation?
0.20.6 uses Lucene 3 and 1.1.1 uses Lucene 4. Lucene is always backwards
compatible for at least 1 major version, so your data should be fine and
there is no need to reindex. Others might disagree, but I would simply
backup the data and run the latest version. An optimize might help force
older segments into the latest Lucene 4 format.
Prior to version 1.x, you cannot run clusters with different major
versions. You will need to do a full cluster restart. If you are using a
Java client, they would also need to be upgraded.
You will greatly benefit from an upgrade. The memory improvements in Lucene
4 alone (ES versions 0.90+) are worth it.
I currently have elasticsearch on 3 production servers with an average of
30 sites per server.
Initially version 0.20.6 of elasticsearch was installed but I'd like to
move them all up to 1.1.1 to take advantage of new features but also to not
fall behind even more then has already happened.
The option of upgrading to 1.1.1 on the servers and then regenerating all
indexes is something that could be done as a last option but since each
site depends on the search so extensively and would need to be down for
some time I'd rather avoid that if at all possible.
Here are my questions:
Do indexes created in 0.20.6 work in 1.1.1?
Has anyone ever ran more then one instance of elasticsearch, both with
different version numbers on the same server?
Are there other options here that I haven't considered that someone
else has used successfully in this kind of situation?
Given it's prod and you don't want downtime, to be super paranoid and safe
I'd upgrade to 0.90.N and then to 1.0.N and then 1.N. Force an optimise on
the indexes and that will reformat them into the upgraded Lucene version (a
trick someone recently mentioned), which means you don't need to reindex.
I'd also leave a day between upgrades to allow for any issues to crop up.
Most importantly, read the release notes and breaking changes so that any
external code that interacts with your cluster can be catered for.
0.20.6 uses Lucene 3 and 1.1.1 uses Lucene 4. Lucene is always backwards
compatible for at least 1 major version, so your data should be fine and
there is no need to reindex. Others might disagree, but I would simply
backup the data and run the latest version. An optimize might help force
older segments into the latest Lucene 4 format.
Prior to version 1.x, you cannot run clusters with different major
versions. You will need to do a full cluster restart. If you are using a
Java client, they would also need to be upgraded.
I currently have elasticsearch on 3 production servers with an average of
30 sites per server.
Initially version 0.20.6 of elasticsearch was installed but I'd like to
move them all up to 1.1.1 to take advantage of new features but also to not
fall behind even more then has already happened.
The option of upgrading to 1.1.1 on the servers and then regenerating all
indexes is something that could be done as a last option but since each
site depends on the search so extensively and would need to be down for
some time I'd rather avoid that if at all possible.
Here are my questions:
Do indexes created in 0.20.6 work in 1.1.1?
Has anyone ever ran more then one instance of elasticsearch, both with
different version numbers on the same server?
Are there other options here that I haven't considered that someone
else has used successfully in this kind of situation?
We recently upgraded three elasticsearch clusters from 0.20.2 to 1.1.1 in
one big step.
We did it without any downtime by setting up parallel clusters running
1.1.1. Since our data is changing all the time we created the parallel
clusters by first adding machines and shards to the existing clusters and
then we manually cut off the extra machines, renamed the cluster and
started them and we have a complete copy of our existing system. We only
had to pause updates to the clusters for a couple of hours while rewiring
some logic, and reading never stopped.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.