Upgrade from 0.20.2 to 0.90.3

Hi all,

I'm sure this is a question that gets asked a lot. I was able to find good
answers for rolling restarts, but that's more complicated than I really
need. I also had trouble finding specific references to APIs that should be
used. I'm hoping you can help me fill in the gaps.

I currently have an 8 node ElasticSearch cluster running version 0.20.2
containing 220 million or so log messages. I would like to upgrade this
cluster to 0.90.3. This isn't a critical service, so downtime is fine. I'd
still like to back up indexed data in case I need to roll back.

The process as I understand it:

  1. Stop indexing incoming documents via the admin indices open/close API.
  2. Flush each index using the admin indices flush API.
  3. (This one I'm not sure about) Disable shard allocation and/or set
    mininum_master_nodes to 8 to prevent data from being shuffled around when
    nodes come back up.
  4. Shut down all nodes.
  5. Back up data by copying the data directory from each node somewhere
    else.
  6. Install new version of ElasticSearch.
    1. I'm gonna be using the debian package to install, so I'd just do a
      dpkg -i and call it a day?
  7. Once the upgrade is complete, bring the cluster back up and hope that
    all the nodes rejoin.
  8. If nodes are having issues or if data is corrupt, reinstall 0.20.2
    and hope things start working again. Possibly copy backups back to nodes.

Does this seem accurate? Am I missing anything?

Thanks for your time!

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Brian Derickson wrote:

  1. Stop indexing incoming documents via the admin indices
    open/close API.

Better to do it from your client, but closing indices would also
work.

  1. Flush each index using the admin indices flush API.

Yes.

  1. (This one I'm not sure about) Disable shard allocation
    and/or set mininum_master_nodes to 8 to prevent data from
    being shuffled around when nodes come back up.

MMN won't help you here. You're probably referring to
recover_after_data_nodes. Setting
cluster.routing.allocation.disable_allocation persistently would
also work.

  1. Shut down all nodes.

Yes.

  1. Back up data by copying the data directory from each node
    somewhere else.

Doesn't hurt.

  1. Install new version of Elasticsearch.
    1. I'm gonna be using the debian package to install, so
      I'd just do a
      dpkg -i and call it a day?

Yes, just be aware that the package will start ES. We've fixed
that in recent branches.

  1. Once the upgrade is complete, bring the cluster back up
    and hope that all the nodes rejoin.

Collapse this into the last step.

  1. If nodes are having issues or if data is corrupt,
    reinstall 0.20.2 and hope things start working
    again. Possibly copy backups back to nodes.

You won't be able to downgrade, so keep those backups handy. :slight_smile:

Drew

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.