layout: documentation
Upgrading Mesos
This document serves as a guide for users who wish to upgrade an existing mesos cluster. Some versions require particular upgrade techniques when upgrading a running cluster. Some upgrades will have incompatible changes.
Upgrading from 0.16.0 to 0.17.0.
In order to upgrade a running cluster:
- Install the new master binaries and restart the masters.
- Upgrade the schedulers by linking the latest native library and mesos jar (if necessary).
- Restart the schedulers.
- Install the new slave binaries and restart the slaves.
- Upgrade the executors by linking the latest native library and mesos jar (if necessary).
Upgrading from 0.15.0 to 0.16.0.
In order to upgrade a running cluster:
- Install the new master binaries and restart the masters.
- Upgrade the schedulers by linking the latest native library and mesos jar (if necessary).
- Restart the schedulers.
- Install the new slave binaries and restart the slaves.
- Upgrade the executors by linking the latest native library and mesos jar (if necessary).
Upgrading from 0.14.0 to 0.15.0.
In order to upgrade a running cluster:
- Install the new master binaries.
- Restart the masters with --credentials pointing to credentials of the framework(s).
- NOTE: --authentication=false (default) allows both authenticated and unauthenticated frameworks to register.
- Install the new slave binaries and restart the slaves.
- Upgrade the executors by linking the latest native library and mesos jar (if necessary).
- Upgrade the schedulers by linking the latest native library and mesos jar (if necessary).
- NOTE: Schedulers should implement the new
reconcileTasks
driver method. - Schedulers should call the new
MesosSchedulerDriver
constructor that takes Credential
to authenticate. - Restart the schedulers.
- Restart the masters with --authentication=true.
- NOTE: After the restart unauthenticated frameworks will not be allowed to register.
Upgrading from 0.13.0 to 0.14.0.
In order to upgrade a running cluster:
- Install the new master binaries and restart the masters.
- NOTE: /vars endpoint has been removed.
- Upgrade the executors by linking the latest native library and mesos jar (if necessary).
- Install the new slave binaries.
- Restart the slaves after adding --checkpoint flag to enable checkpointing.
- NOTE: /vars endpoint has been removed.
- Upgrade the schedulers by linking the latest native library and mesos jar (if necessary).
- Set FrameworkInfo.checkpoint in the scheduler if checkpointing is desired (recommended).
- Restart the schedulers.
- Restart the masters (to get rid of the cached FrameworkInfo).
- Restart the slaves (to get rid of the cached FrameworkInfo).
Upgrading from 0.12.0 to 0.13.0.
In order to upgrade a running cluster:
- Install the new master binaries and restart the masters.
- Upgrade the schedulers by linking the latest native library and mesos jar (if necessary).
- Restart the schedulers.
- Install the new slave binaries.
- NOTE: cgroups_hierarchy_root slave flag is renamed as cgroups_hierarchy
- Restart the slaves.
- Upgrade the executors by linking the latest native library and mesos jar (if necessary).
Upgrading from 0.11.0 to 0.12.0.
In order to upgrade a running cluster:
- Install the new slave binaries and restart the slaves.
- Install the new master binaries and restart the masters.
If you are a framework developer, you will want to examine the new ‘source’ field in the ExecutorInfo protobuf. This will allow you to take further advantage of the resource monitoring.