blob: 819d35b99c4f01d7369d7d3df4922672902cefd0 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Apache Aurora</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<link href="/assets/css/main.css" rel="stylesheet">
<!-- Analytics -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-45879646-1']);
_gaq.push(['_setDomainName', 'apache.org']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<div class="container-fluid section-header">
<div class="container">
<div class="nav nav-bar">
<a href="/"><img src="/assets/img/aurora_logo_dkbkg.svg" width="300" alt="Transparent Apache Aurora logo with dark background"/></a>
<ul class="nav navbar-nav navbar-right">
<li><a href="/documentation/latest/">Documentation</a></li>
<li><a href="/community/">Community</a></li>
<li><a href="/downloads/">Downloads</a></li>
<li><a href="/blog/">Blog</a></li>
</ul>
</div>
</div>
</div>
<div class="container-fluid">
<div class="container content">
<div class="col-md-12 documentation">
<h5 class="page-header text-uppercase">Documentation
<select onChange="window.location.href='/documentation/' + this.value + '/operations/upgrades/'"
value="0.19.1">
<option value="0.22.0"
>
0.22.0
(latest)
</option>
<option value="0.21.0"
>
0.21.0
</option>
<option value="0.20.0"
>
0.20.0
</option>
<option value="0.19.1"
selected="selected">
0.19.1
</option>
<option value="0.19.0"
>
0.19.0
</option>
<option value="0.18.1"
>
0.18.1
</option>
<option value="0.18.0"
>
0.18.0
</option>
<option value="0.17.0"
>
0.17.0
</option>
<option value="0.16.0"
>
0.16.0
</option>
<option value="0.15.0"
>
0.15.0
</option>
<option value="0.14.0"
>
0.14.0
</option>
<option value="0.13.0"
>
0.13.0
</option>
<option value="0.12.0"
>
0.12.0
</option>
<option value="0.11.0"
>
0.11.0
</option>
<option value="0.10.0"
>
0.10.0
</option>
<option value="0.9.0"
>
0.9.0
</option>
<option value="0.8.0"
>
0.8.0
</option>
<option value="0.7.0-incubating"
>
0.7.0-incubating
</option>
<option value="0.6.0-incubating"
>
0.6.0-incubating
</option>
<option value="0.5.0-incubating"
>
0.5.0-incubating
</option>
</select>
</h5>
<h1 id="upgrading-aurora">Upgrading Aurora</h1>
<p>Aurora can be updated from one version to the next without any downtime or restarts of running
jobs. The same holds true for Mesos.</p>
<p>Generally speaking, Mesos and Aurora strive for a +1/-1 version compatibility, i.e. all components
are meant to be forward and backwards compatible for at least one version. This implies it
does not really matter in which order updates are carried out.</p>
<p>Exceptions to this rule are documented in the <a href="../../../RELEASE-NOTES/">Aurora release-notes</a>
and the <a href="https://mesos.apache.org/documentation/latest/upgrades/">Mesos upgrade instructions</a>.</p>
<h2 id="instructions">Instructions</h2>
<p>To upgrade Aurora, follow these steps:</p>
<ol>
<li>Update the first scheduler instance by updating its software and restarting its process.</li>
<li>Wait until the scheduler is up and its <a href="../configuration/#replicated-log-configuration">Replicated Log</a>
caught up with the other schedulers in the cluster. The log has caught up if <code>log/recovered</code> has
the value <code>1</code>. You can check the metric via <code>curl LIBPROCESS_IP:LIBPROCESS_PORT/metrics/snapshot</code>,
where ip and port refer to the <a href="../configuration/#network-configuration">libmesos configuration</a>
settings of the scheduler instance.</li>
<li>Proceed with the next scheduler until all instances are updated.</li>
<li>Update the Aurora executor deployed to the compute nodes of your cluster. Jobs will continue
running with the old version of the executor, and will only be launched by the new one once
they are restarted eventually due to natural cluster churn.</li>
<li>Distribute the new Aurora client to your users.</li>
</ol>
<h2 id="best-practices">Best Practices</h2>
<p>Even though not absolutely mandatory, we advice to adhere to the following rules:</p>
<ul>
<li>Never skip any major or minor releases when updating. If you have to catch up several releases you
have to deploy all intermediary versions. Skipping bugfix releases is acceptable though.</li>
<li>Verify all updates on a test cluster before touching your production deployments.</li>
<li>To minimize the number of failovers during updates, update the currently leading scheduler
instance last.</li>
<li>Update the Aurora executor on a subset of compute nodes as a canary before deploying the change to
the whole fleet.</li>
</ul>
</div>
</div>
</div>
<div class="container-fluid section-footer buffer">
<div class="container">
<div class="row">
<div class="col-md-2 col-md-offset-1"><h3>Quick Links</h3>
<ul>
<li><a href="/downloads/">Downloads</a></li>
<li><a href="/community/">Mailing Lists</a></li>
<li><a href="http://issues.apache.org/jira/browse/AURORA">Issue Tracking</a></li>
<li><a href="/documentation/latest/contributing/">How To Contribute</a></li>
</ul>
</div>
<div class="col-md-2"><h3>The ASF</h3>
<ul>
<li><a href="http://www.apache.org/licenses/">License</a></li>
<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a href="http://www.apache.org/security/">Security</a></li>
</ul>
</div>
<div class="col-md-6">
<p class="disclaimer">&copy; 2014-2017 <a href="http://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>. The <a href="https://www.flickr.com/photos/trondk/12706051375/">Aurora Borealis IX photo</a> displayed on the homepage is available under a <a href="https://creativecommons.org/licenses/by-nc-nd/2.0/">Creative Commons BY-NC-ND 2.0 license</a>. Apache, Apache Aurora, and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
</div>
</div>
</div>
</body>
</html>