Hello,
my ES cluster is still running version 0.20.1. It is time to upgrade. I
know I cannot just use indexes as is and replace the jars by the newest ES.
They are not compatible as far as I understood.
So I need to set up a parallel cluster with the newest ES and some how
transfer all the data with zero down time. The size of the indexes is about
100Gb and the traffic is relatively big, so it could take some time, and
somehow I need to keep the clusters in sync.
Did someone had such experience?
Does someone have any suggestions how to approach this?
I cannot come up with some elegant solution.
Any help is greatly appreciated.
Thank you,
Eugene
I would just start another node (or a couple of nodes for security reasons,
mantaining replicas in different machines, etc.) in your cluster with the
new ES version, wait untill data gets copied, turn off every deprecated
(old) version of ES and then restart the nodes you turned-off with after
updating its version.
Alternatively, you can also do something similar to this:
Hope some of this helps.
El jueves, 2 de octubre de 2014 02:28:02 UTC+2, Eugene Strokin escribió:
Hello,
my ES cluster is still running version 0.20.1. It is time to upgrade. I
know I cannot just use indexes as is and replace the jars by the newest ES.
They are not compatible as far as I understood.
So I need to set up a parallel cluster with the newest ES and some how
transfer all the data with zero down time. The size of the indexes is about
100Gb and the traffic is relatively big, so it could take some time, and
somehow I need to keep the clusters in sync.
Did someone had such experience?
Does someone have any suggestions how to approach this?
I cannot come up with some elegant solution.
Any help is greatly appreciated.
Thank you,
Eugene
If you wish, I can prepare a knapsack backport for 0.20, then you can dump
all your data into an archive file, and reimport the archive into a higher
version.
Hello,
my ES cluster is still running version 0.20.1. It is time to upgrade. I
know I cannot just use indexes as is and replace the jars by the newest ES.
They are not compatible as far as I understood.
So I need to set up a parallel cluster with the newest ES and some how
transfer all the data with zero down time. The size of the indexes is about
100Gb and the traffic is relatively big, so it could take some time, and
somehow I need to keep the clusters in sync.
Did someone had such experience?
Does someone have any suggestions how to approach this?
I cannot come up with some elegant solution.
Any help is greatly appreciated.
Thank you,
Eugene
If you wish, I can prepare a knapsack backport for 0.20, then you can dump
all your data into an archive file, and reimport the archive into a higher
version.
Hello,
my ES cluster is still running version 0.20.1. It is time to upgrade. I
know I cannot just use indexes as is and replace the jars by the newest ES.
They are not compatible as far as I understood.
So I need to set up a parallel cluster with the newest ES and some how
transfer all the data with zero down time. The size of the indexes is about
100Gb and the traffic is relatively big, so it could take some time, and
somehow I need to keep the clusters in sync.
Did someone had such experience?
Does someone have any suggestions how to approach this?
I cannot come up with some elegant solution.
Any help is greatly appreciated.
Thank you,
Eugene
Your indices should be fine as is. Lucene is guaranteed to be able to read
data from 1 major revision prior. Elasticsearch 0.20 is Lucene 3 and the
latest Elasticsearch is Lucene 4. Because of various bugs at the Lucene
level, you should run an optimize (normally discouraged) to upgrade the
indices within Lucene.
Can you hold off indexing new content during the transition? If you want
zero downtime, it is essential. Also, what type of client are you using?
Although the Java transport client is the most flexible, it can be an issue
for zero downtime upgrades (with versions prior to 1.0).
If you can wait a little longer, I would hold off for Elasticsearch 1.4,
which is currently in beta. I think it would be the biggest release since
1.0.
If you wish, I can prepare a knapsack backport for 0.20, then you can
dump all your data into an archive file, and reimport the archive into a
higher version.
Hello,
my ES cluster is still running version 0.20.1. It is time to upgrade. I
know I cannot just use indexes as is and replace the jars by the newest ES.
They are not compatible as far as I understood.
So I need to set up a parallel cluster with the newest ES and some how
transfer all the data with zero down time. The size of the indexes is about
100Gb and the traffic is relatively big, so it could take some time, and
somehow I need to keep the clusters in sync.
Did someone had such experience?
Does someone have any suggestions how to approach this?
I cannot come up with some elegant solution.
Any help is greatly appreciated.
Thank you,
Eugene
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.