Hi! I have an app that uses ES 90.3, and i want to upgrade to 90.5. What's
the fastest and more reliable way to do this? I haven't found anything
about this particular situation.
Have anybody done this before?
When we upgraded to 0.90.4 from 0.90.3 we did this:
-1. Make sure you have curl installed on all Elasticsearch nodes.
0. Make sure you have enough capacity to handle queries with one less
node. Two or three less nodes if you have a healthy sense of paranoia.
Make sure you have > 2 nodes.
Make sure you have > 0 replicas on each index. > 1 replicas on each
index if you have a healthy sense of paranoia.
Shut down one elasticsearch on one node.
Upgrade the code (deb package in our case).
Start elasticsearch.
Wait for the cluster state to go green again. Depending on the amount
of data in your cluster this could take from seconds to hours. I ran this
script so I could see updates every second:
until curl -s localhost:9200/_cluster/health?pretty | tee /tmp/status
| grep "status" | grep "green"
do
cat /tmp/status
echo
echo "Still waiting..."
sleep 1
done
Repeat 3-6 on each node.
If you did it right no one will notice but your network monitoring tools.
They'll see a furious spike in data transfers. You can prevent this spike
and speed up the process by turning off shard reallocation before step 3
and turning it back on after step 5 like this:
2.5.
Hi! I have an app that uses ES 90.3, and i want to upgrade to 90.5. What's
the fastest and more reliable way to do this? I haven't found anything
about this particular situation.
Have anybody done this before?
In addition to upgrade steps, I'd also recommend to back up data in case
there is any issue with newer version and you may need to downgrade back to
older version. The index data after upgrade may no longer be compatible
with old version.
On Friday, October 25, 2013 8:58:56 AM UTC-4, Adrián Van Langenhove wrote:
Hi! I have an app that uses ES 90.3, and i want to upgrade to 90.5. What's
the fastest and more reliable way to do this? I haven't found anything
about this particular situation.
Have anybody done this before?
We currently have just 1 node. We can stop the service for a couple of
hours, and we don't need back up of info, we can generate it again. Is
there any basic script to upgrade? I'm new in linux.
In addition to upgrade steps, I'd also recommend to back up data in case
there is any issue with newer version and you may need to downgrade back to
older version. The index data after upgrade may no longer be compatible
with old version.
On Friday, October 25, 2013 8:58:56 AM UTC-4, Adrián Van Langenhove wrote:
Hi! I have an app that uses ES 90.3, and i want to upgrade to 90.5.
What's the fastest and more reliable way to do this? I haven't found
anything about this particular situation.
Have anybody done this before?
If you can afford to stop the node, then just copying the data folder over
into the new installation should do the job.
Cheers
George
On Friday, October 25, 2013 9:30:41 AM UTC-7, Adrián Van Langenhove wrote:
We currently have just 1 node. We can stop the service for a couple of
hours, and we don't need back up of info, we can generate it again. Is
there any basic script to upgrade? I'm new in linux.
In addition to upgrade steps, I'd also recommend to back up data in case
there is any issue with newer version and you may need to downgrade back to
older version. The index data after upgrade may no longer be compatible
with old version.
On Friday, October 25, 2013 8:58:56 AM UTC-4, Adrián Van Langenhove wrote:
Hi! I have an app that uses ES 90.3, and i want to upgrade to 90.5.
What's the fastest and more reliable way to do this? I haven't found
anything about this particular situation.
Have anybody done this before?
Can you disable indexing? If so, after disabling indexing and disabling
allocation (per Nik's excellent suggestions), you should flush your indices
so that the transaction log is (hopefully) clear for when you re-enable
allocation.
Just saw that you have only one node. Even if you have only one node and
allocation does not pertain to your situation, flushing is still a good
idea.
Other things to look at for is sub-directories. By default, the
data/plugin/log directories are in the elasticsearch directory. You can
copy these directories to your new install directory, but hopefully you
have already configured them to live outside of elasticsearch. If you have
not, then use this upgrade time to enable this best practice. Some plugins
might not work between versions, but the most common ones do.
If you can afford to stop the node, then just copying the data folder over
into the new installation should do the job.
Cheers
George
On Friday, October 25, 2013 9:30:41 AM UTC-7, Adrián Van Langenhove wrote:
We currently have just 1 node. We can stop the service for a couple of
hours, and we don't need back up of info, we can generate it again. Is
there any basic script to upgrade? I'm new in linux.
In addition to upgrade steps, I'd also recommend to back up data in case
there is any issue with newer version and you may need to downgrade back to
older version. The index data after upgrade may no longer be compatible
with old version.
On Friday, October 25, 2013 8:58:56 AM UTC-4, Adrián Van Langenhove
wrote:
Hi! I have an app that uses ES 90.3, and i want to upgrade to 90.5.
What's the fastest and more reliable way to do this? I haven't found
anything about this particular situation.
Have anybody done this before?
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.