Search code examples
upgradedata-migrationcrate

What is the proper procedure for upgrading a multi-node Crate cluster?


I have a crate cluster consisting of multiple nodes. The cluster is currently running 0.39.1 utilizing the Ubuntu stable repository. I would like to upgrade to 0.40.2 with no down time on the cluster.

Is it wise to simply use the ES rolling upgrade process (given that we have the ES API enabled) referenced here: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/setup-upgrade.html#rolling-upgrades


Solution

  • We cannot give any guarantees that the ES rolling update works in every case and for every setup and dataset. We have to do extensive testing to verify that. Additionally, you have to enable the ES Rest API for that to work.

    Nonetheless the following is true:

    • crate uses ES 1.X since version 0.24.0
    • there are no breaking changes in crate between 0.38.3 and current stable relase 0.40.2
    • according to the ES documentation you referenced, rolling upgrades should be supported on all minor/maintenance releases since 1.0

    We've put making rolling upgrades (without using the ES API) on our backlog. Stay tuned.

    Update:

    Since release 0.44.0 Crate supports zero downtime upgrades using a rolling upgrade with strong data availability guarantees. You don't have to enable the ES REST API. See the documentation about Zero Downtime Upgrades.