Updated the website built from mesos SHA: 38ab7cb.
Project: http://git-wip-us.apache.org/repos/asf/mesos-site/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos-site/commit/5db8a665 Tree: http://git-wip-us.apache.org/repos/asf/mesos-site/tree/5db8a665 Diff: http://git-wip-us.apache.org/repos/asf/mesos-site/diff/5db8a665 Branch: refs/heads/asf-site Commit: 5db8a66587071a515893ca3fe2e1d4c8cc03c349 Parents: a5da74b Author: jenkins <[email protected]> Authored: Sat Feb 3 00:19:07 2018 +0000 Committer: jenkins <[email protected]> Committed: Sat Feb 3 00:19:07 2018 +0000 ---------------------------------------------------------------------- content/blog/feed.xml | 2 +- .../index.html | 2 +- content/documentation/fault-domains/index.html | 269 + content/documentation/index.html | 1 + .../configuration/master-and-agent/index.html | 3 + .../latest/fault-domains/index.html | 269 + content/documentation/latest/index.html | 1 + content/sitemap.xml | 9034 +++++++++--------- 8 files changed, 5066 insertions(+), 4515 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos-site/blob/5db8a665/content/blog/feed.xml ---------------------------------------------------------------------- diff --git a/content/blog/feed.xml b/content/blog/feed.xml index 27ae411..14d087b 100644 --- a/content/blog/feed.xml +++ b/content/blog/feed.xml @@ -168,7 +168,7 @@ To learn more about CSI work in Mesos, you can dig into the design document < </ul> -<p>If you are a user and would like to suggest some areas for performance improvement, please let us know by emailing <a href="&#x6d;&#97;&#x69;&#108;&#x74;&#x6f;&#x3a;&#100;&#x65;&#x76;&#64;&#97;&#x70;&#x61;&#99;&#x68;&#x65;&#x2e;&#109;&#101;&#115;&#x6f;&#115;&#46;&#x6f;&#114;&#x67;">&#x64;&#x65;&#x76;&#64;&#97;&#x70;&#x61;&#x63;&#104;&#x65;&#46;&#109;&#101;&#x73;&#111;&#x73;&#x2e;&#111;&#x72;&#103;</a>.</p> +<p>If you are a user and would like to suggest some areas for performance improvement, please let us know by emailing <a href="&#109;&#x61;&#105;&#x6c;&#x74;&#x6f;&#58;&#100;&#101;&#118;&#64;&#x61;&#112;&#x61;&#99;&#104;&#x65;&#46;&#x6d;&#101;&#x73;&#x6f;&#x73;&#x2e;&#x6f;&#x72;&#103;">&#x64;&#101;&#x76;&#64;&#x61;&#112;&#97;&#99;&#x68;&#x65;&#x2e;&#109;&#101;&#x73;&#111;&#x73;&#x2e;&#111;&#x72;&#x67;</a>.</p> </content> </entry> http://git-wip-us.apache.org/repos/asf/mesos-site/blob/5db8a665/content/blog/performance-working-group-progress-report/index.html ---------------------------------------------------------------------- diff --git a/content/blog/performance-working-group-progress-report/index.html b/content/blog/performance-working-group-progress-report/index.html index 5f92941..de52f32 100644 --- a/content/blog/performance-working-group-progress-report/index.html +++ b/content/blog/performance-working-group-progress-report/index.html @@ -248,7 +248,7 @@ </ul> -<p>If you are a user and would like to suggest some areas for performance improvement, please let us know by emailing <a href="mailto:dev@apache.mesos.org">dev@apache.mesos.org</a>.</p> +<p>If you are a user and would like to suggest some areas for performance improvement, please let us know by emailing <a href="mailto:dev@apache.mesos.org">dev@apache.mesos.org</a>.</p> </div> </div> http://git-wip-us.apache.org/repos/asf/mesos-site/blob/5db8a665/content/documentation/fault-domains/index.html ---------------------------------------------------------------------- diff --git a/content/documentation/fault-domains/index.html b/content/documentation/fault-domains/index.html new file mode 100644 index 0000000..217e521 --- /dev/null +++ b/content/documentation/fault-domains/index.html @@ -0,0 +1,269 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8"> + <title>Apache Mesos - Domains and Regions</title> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <meta property="og:locale" content="en_US"/> + <meta property="og:type" content="website"/> + <meta property="og:title" content="Apache Mesos"/> + <meta property="og:site_name" content="Apache Mesos"/> + <meta property="og:url" content="http://mesos.apache.org/"/> + <meta property="og:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/> + <meta property="og:description" + content="Apache Mesos abstracts resources away from machines, + enabling fault-tolerant and elastic distributed systems + to easily be built and run effectively."/> + + <meta name="twitter:card" content="summary"/> + <meta name="twitter:site" content="@ApacheMesos"/> + <meta name="twitter:title" content="Apache Mesos"/> + <meta name="twitter:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/> + <meta name="twitter:description" + content="Apache Mesos abstracts resources away from machines, + enabling fault-tolerant and elastic distributed systems + to easily be built and run effectively."/> + + <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet"> + <link rel="alternate" type="application/atom+xml" title="Apache Mesos Blog" href="/blog/feed.xml"> + <link href="../../assets/css/main.css" media="screen" rel="stylesheet" type="text/css" /> + + + + <!-- Google Analytics Magic --> + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-20226872-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> + <!-- magical breadcrumbs --> + <div class="topnav"> + <div class="container"> + <ul class="breadcrumb"> + <li> + <div class="dropdown"> + <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a> + <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> + <li><a href="http://www.apache.org">Apache Homepage</a></li> + <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> + </li> + + <li><a href="http://mesos.apache.org">Apache Mesos</a></li> + + + <li><a href="/documentation +/">Documentation +</a></li> + + + </ul><!-- /.breadcrumb --> + </div><!-- /.container --> + </div><!-- /.topnav --> + + <!-- navbar excitement --> +<div class="navbar navbar-default navbar-static-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mesos-menu" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="/"><img src="/assets/img/mesos_logo.png" alt="Apache Mesos logo"/></a> + </div><!-- /.navbar-header --> + + <div class="navbar-collapse collapse" id="mesos-menu"> + <ul class="nav navbar-nav navbar-right"> + <li><a href="/getting-started/">Getting Started</a></li> + <li><a href="/blog/">Blog</a></li> + <li><a href="/documentation/latest/">Documentation</a></li> + <li><a href="/downloads/">Downloads</a></li> + <li><a href="/community/">Community</a></li> + </ul> + </div><!-- /#mesos-menu --> + </div><!-- /.container --> +</div><!-- /.navbar --> + +<div class="content"> + <div class="container"> + <div class="row-fluid"> + <div class="col-md-4"> + <h4>If you're new to Mesos</h4> + <p>See the <a href="/getting-started/">getting started</a> page for more + information about downloading, building, and deploying Mesos.</p> + + <h4>If you'd like to get involved or you're looking for support</h4> + <p>See our <a href="/community/">community</a> page for more details.</p> + </div> + <div class="col-md-8"> + <h1>Regions and Fault Domains</h1> + +<p>Starting with Mesos 1.5, it is possible to place Mesos masters and agents into +<em>domains</em>, which are logical groups of machines that share some characteristics.</p> + +<p>Currently, fault domains are the only supported type of domains, which are +groups of machines with similar failure characteristics.</p> + +<p>A fault domain is a 2 level hierarchy of regions and zones. The mapping from +fault domains to physical infrastructure is up to the operator to configure, +although it is recommended that machines in the same zones have low latency to +each other.</p> + +<p>In cloud environments, regions and zones can be mapped to the “region” and +“availability zone” concepts exposed by most cloud providers, respectively. +In on-premise deployments, regions and zones can be mapped to data centers and +racks, respectively.</p> + +<p>Schedulers may prefer to place network-intensive workloads in the same domain, +as this may improve performance. Conversely, a single failure that affects a +host in a domain may be more likely to affect other hosts in the same domain; +hence, schedulers may prefer to place workloads that require high availability +in multiple domains. For example, all the hosts in a single rack might lose +power or network connectivity simultaneously.</p> + +<p>The <code>--domain</code> flag can be used to specify the fault domain of a master or +agent node. The value of this flag must be a file path or a JSON dictionary +with the key <code>fault_domain</code> and subkeys <code>region</code> and <code>zone</code> mapping to +arbitrary strings:</p> + +<pre><code>mesos-master --domain='{"fault_domain": {"region": "eu", "zone": "rack1"}}' + +mesos-agent --domain='{"fault_domain": {"region": "eu", "zone": "rack2"}}' +</code></pre> + +<p>Frameworks can learn about the domain of an agent by inspecting the <code>domain</code> +field in the received offer, which contains a <code>DomainInfo</code> that has the +same structure as the JSON dictionary above.</p> + +<h1>Constraints</h1> + +<p>When configuring fault domains for the masters and agents, the following +constraints must be obeyed:</p> + +<ul> +<li><p>If a mesos master is not configured with a domain, it will reject connection +attempts from agents with a domain.</p> + +<p>This is done because the master is not able to determine whether or not the +agent would be remote in this case.</p></li> +<li><p>Agents with no configured domain are assumed to be in the same domain as the +master.</p> + +<p>If this behaviour isn’t desired, the <code>--require_agent_domain</code> flag on the +master can be used to enforce that domains are configured on all agents by +having the master reject all registration attempts by agents without a +configured domain.</p></li> +<li><p>If one master is configured with a domain, all other masters must be in the +same “region” to avoid cross-region quorum writes. It is recommended to put +them in different zones within that region for high availability.</p></li> +<li><p>The default DRF resource allocator will only offer resources from agents in +the same region as the master. To receive offers from all regions, a +framework must set the <code>REGION_AWARE</code> capability bit in its FrameworkInfo.</p></li> +</ul> + + +<h1>Example</h1> + +<p>A short example will serve to illustrate these concepts. WayForward Technologies +runs a successful website that allows users to purchase things that they want +to have.</p> + +<p>To do this, it owns a data center in San Francisco, in which it runs a number of +custom Mesos frameworks. All agents within the data center are configured with +the same region <code>sf</code>, and the individual racks inside the data center are used +as zones.</p> + +<p>The three mesos masters are placed in different server racks in the data center, +which gives them enough isolation to withstand events like a whole rack losing +power or network connectivity but still have low-enough latency for +quorum writes.</p> + +<p>One of the provided services is a real-time view of the company’s inventory. +The framework providing this service is placing all of its tasks in the same +zone as the database server, to take advantage of the high-speed, low-latency +link so it can always display the latest results.</p> + +<p>During peak hours, it might happen that the computing power required to operate +the website exceeds the capacity of the data center. To avoid unnecessary +hardware purchases, WayForward Technologies contracted with a third-party cloud +provider TPC. The machines from this provider are placed in a different +region <code>tpc</code>, and the zones are configured to correspond to the availability +zones provided by TPC. All relevant frameworks are updated with the +<code>REGION_AWARE</code> bit in their <code>FrameworkInfo</code> and their scheduling logic is +updated so that they can schedule tasks in the cloud if required.</p> + +<p>Non-region aware frameworks will now only receive offers from agents within +the data center, where the master nodes reside. Region-aware frameworks are +supposed to know when and if they should place their tasks in the data center +or with the cloud provider.</p> + + </div> +</div> + + </div><!-- /.container --> +</div><!-- /.content --> + +<hr> + + + + <!-- footer --> + <div class="footer"> + <div class="container"> + <div class="col-md-4 social-blk"> + <span class="social"> + <a href="https://twitter.com/ApacheMesos" + class="twitter-follow-button" + data-show-count="false" data-size="large">Follow @ApacheMesos</a> + <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> + <a href="https://twitter.com/intent/tweet?button_hashtag=mesos" + class="twitter-hashtag-button" + data-size="large" + data-related="ApacheMesos">Tweet #mesos</a> + <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> + </span> + </div> + + <div class="col-md-8 trademark"> + <p>© 2012-2017 <a href="http://apache.org">The Apache Software Foundation</a>. + Apache Mesos, the Apache feather logo, and the Apache Mesos project logo are trademarks of The Apache Software Foundation. + <p> + </div> + </div><!-- /.container --> + </div><!-- /.footer --> + + <!-- JS --> + <script src="//code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script> + <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js" type="text/javascript"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/anchor-js/4.1.0/anchor.min.js" type="text/javascript"></script> + + <!-- Inject anchors for all headings on the page, see https://www.bryanbraun.com/anchorjs. --> + <script type="text/javascript"> + anchors.options = { + placement: 'right', + ariaLabel: 'Permalink', + }; + + // The default is to not add anchors to h1, but we have pages with multiple h1 headers, + // and we do want to put anchors on those. + anchors.add('h1, h2, h3, h4, h5, h6'); + </script> + </body> +</html> http://git-wip-us.apache.org/repos/asf/mesos-site/blob/5db8a665/content/documentation/index.html ---------------------------------------------------------------------- diff --git a/content/documentation/index.html b/content/documentation/index.html index 736cc9a..e28f748 100644 --- a/content/documentation/index.html +++ b/content/documentation/index.html @@ -150,6 +150,7 @@ <li><a href="/documentation/latest/./monitoring/">Monitoring</a></li> <li><a href="/documentation/latest/./operational-guide/">Operational Guide</a></li> <li><a href="/documentation/latest/./fetcher/">Fetcher Cache Configuration</a></li> +<li><a href="/documentation/latest/./fault-domains/">Fault Domains</a></li> </ul> http://git-wip-us.apache.org/repos/asf/mesos-site/blob/5db8a665/content/documentation/latest/configuration/master-and-agent/index.html ---------------------------------------------------------------------- diff --git a/content/documentation/latest/configuration/master-and-agent/index.html b/content/documentation/latest/configuration/master-and-agent/index.html index 88a246a..d756570 100644 --- a/content/documentation/latest/configuration/master-and-agent/index.html +++ b/content/documentation/latest/configuration/master-and-agent/index.html @@ -205,6 +205,9 @@ different zones). Agents configured to use a different region than the master's region will not appear in resource offers to frameworks that have not enabled the <code>REGION_AWARE</code> capability. This value can be specified as either a JSON-formatted string or a file path containing JSON. + +See the [documentation](/documentation/latest/configuration/../fault-domains/) for further details. + <p/> Example: <pre><code>{ http://git-wip-us.apache.org/repos/asf/mesos-site/blob/5db8a665/content/documentation/latest/fault-domains/index.html ---------------------------------------------------------------------- diff --git a/content/documentation/latest/fault-domains/index.html b/content/documentation/latest/fault-domains/index.html new file mode 100644 index 0000000..f5a998a --- /dev/null +++ b/content/documentation/latest/fault-domains/index.html @@ -0,0 +1,269 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8"> + <title>Apache Mesos - Domains and Regions</title> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <meta property="og:locale" content="en_US"/> + <meta property="og:type" content="website"/> + <meta property="og:title" content="Apache Mesos"/> + <meta property="og:site_name" content="Apache Mesos"/> + <meta property="og:url" content="http://mesos.apache.org/"/> + <meta property="og:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/> + <meta property="og:description" + content="Apache Mesos abstracts resources away from machines, + enabling fault-tolerant and elastic distributed systems + to easily be built and run effectively."/> + + <meta name="twitter:card" content="summary"/> + <meta name="twitter:site" content="@ApacheMesos"/> + <meta name="twitter:title" content="Apache Mesos"/> + <meta name="twitter:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/> + <meta name="twitter:description" + content="Apache Mesos abstracts resources away from machines, + enabling fault-tolerant and elastic distributed systems + to easily be built and run effectively."/> + + <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet"> + <link rel="alternate" type="application/atom+xml" title="Apache Mesos Blog" href="/blog/feed.xml"> + <link href="../../../assets/css/main.css" media="screen" rel="stylesheet" type="text/css" /> + + + + <!-- Google Analytics Magic --> + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-20226872-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> + <!-- magical breadcrumbs --> + <div class="topnav"> + <div class="container"> + <ul class="breadcrumb"> + <li> + <div class="dropdown"> + <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a> + <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> + <li><a href="http://www.apache.org">Apache Homepage</a></li> + <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> + </li> + + <li><a href="http://mesos.apache.org">Apache Mesos</a></li> + + + <li><a href="/documentation +/">Documentation +</a></li> + + + </ul><!-- /.breadcrumb --> + </div><!-- /.container --> + </div><!-- /.topnav --> + + <!-- navbar excitement --> +<div class="navbar navbar-default navbar-static-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mesos-menu" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="/"><img src="/assets/img/mesos_logo.png" alt="Apache Mesos logo"/></a> + </div><!-- /.navbar-header --> + + <div class="navbar-collapse collapse" id="mesos-menu"> + <ul class="nav navbar-nav navbar-right"> + <li><a href="/getting-started/">Getting Started</a></li> + <li><a href="/blog/">Blog</a></li> + <li><a href="/documentation/latest/">Documentation</a></li> + <li><a href="/downloads/">Downloads</a></li> + <li><a href="/community/">Community</a></li> + </ul> + </div><!-- /#mesos-menu --> + </div><!-- /.container --> +</div><!-- /.navbar --> + +<div class="content"> + <div class="container"> + <div class="row-fluid"> + <div class="col-md-4"> + <h4>If you're new to Mesos</h4> + <p>See the <a href="/getting-started/">getting started</a> page for more + information about downloading, building, and deploying Mesos.</p> + + <h4>If you'd like to get involved or you're looking for support</h4> + <p>See our <a href="/community/">community</a> page for more details.</p> + </div> + <div class="col-md-8"> + <h1>Regions and Fault Domains</h1> + +<p>Starting with Mesos 1.5, it is possible to place Mesos masters and agents into +<em>domains</em>, which are logical groups of machines that share some characteristics.</p> + +<p>Currently, fault domains are the only supported type of domains, which are +groups of machines with similar failure characteristics.</p> + +<p>A fault domain is a 2 level hierarchy of regions and zones. The mapping from +fault domains to physical infrastructure is up to the operator to configure, +although it is recommended that machines in the same zones have low latency to +each other.</p> + +<p>In cloud environments, regions and zones can be mapped to the “region” and +“availability zone” concepts exposed by most cloud providers, respectively. +In on-premise deployments, regions and zones can be mapped to data centers and +racks, respectively.</p> + +<p>Schedulers may prefer to place network-intensive workloads in the same domain, +as this may improve performance. Conversely, a single failure that affects a +host in a domain may be more likely to affect other hosts in the same domain; +hence, schedulers may prefer to place workloads that require high availability +in multiple domains. For example, all the hosts in a single rack might lose +power or network connectivity simultaneously.</p> + +<p>The <code>--domain</code> flag can be used to specify the fault domain of a master or +agent node. The value of this flag must be a file path or a JSON dictionary +with the key <code>fault_domain</code> and subkeys <code>region</code> and <code>zone</code> mapping to +arbitrary strings:</p> + +<pre><code>mesos-master --domain='{"fault_domain": {"region": "eu", "zone": "rack1"}}' + +mesos-agent --domain='{"fault_domain": {"region": "eu", "zone": "rack2"}}' +</code></pre> + +<p>Frameworks can learn about the domain of an agent by inspecting the <code>domain</code> +field in the received offer, which contains a <code>DomainInfo</code> that has the +same structure as the JSON dictionary above.</p> + +<h1>Constraints</h1> + +<p>When configuring fault domains for the masters and agents, the following +constraints must be obeyed:</p> + +<ul> +<li><p>If a mesos master is not configured with a domain, it will reject connection +attempts from agents with a domain.</p> + +<p>This is done because the master is not able to determine whether or not the +agent would be remote in this case.</p></li> +<li><p>Agents with no configured domain are assumed to be in the same domain as the +master.</p> + +<p>If this behaviour isn’t desired, the <code>--require_agent_domain</code> flag on the +master can be used to enforce that domains are configured on all agents by +having the master reject all registration attempts by agents without a +configured domain.</p></li> +<li><p>If one master is configured with a domain, all other masters must be in the +same “region” to avoid cross-region quorum writes. It is recommended to put +them in different zones within that region for high availability.</p></li> +<li><p>The default DRF resource allocator will only offer resources from agents in +the same region as the master. To receive offers from all regions, a +framework must set the <code>REGION_AWARE</code> capability bit in its FrameworkInfo.</p></li> +</ul> + + +<h1>Example</h1> + +<p>A short example will serve to illustrate these concepts. WayForward Technologies +runs a successful website that allows users to purchase things that they want +to have.</p> + +<p>To do this, it owns a data center in San Francisco, in which it runs a number of +custom Mesos frameworks. All agents within the data center are configured with +the same region <code>sf</code>, and the individual racks inside the data center are used +as zones.</p> + +<p>The three mesos masters are placed in different server racks in the data center, +which gives them enough isolation to withstand events like a whole rack losing +power or network connectivity but still have low-enough latency for +quorum writes.</p> + +<p>One of the provided services is a real-time view of the company’s inventory. +The framework providing this service is placing all of its tasks in the same +zone as the database server, to take advantage of the high-speed, low-latency +link so it can always display the latest results.</p> + +<p>During peak hours, it might happen that the computing power required to operate +the website exceeds the capacity of the data center. To avoid unnecessary +hardware purchases, WayForward Technologies contracted with a third-party cloud +provider TPC. The machines from this provider are placed in a different +region <code>tpc</code>, and the zones are configured to correspond to the availability +zones provided by TPC. All relevant frameworks are updated with the +<code>REGION_AWARE</code> bit in their <code>FrameworkInfo</code> and their scheduling logic is +updated so that they can schedule tasks in the cloud if required.</p> + +<p>Non-region aware frameworks will now only receive offers from agents within +the data center, where the master nodes reside. Region-aware frameworks are +supposed to know when and if they should place their tasks in the data center +or with the cloud provider.</p> + + </div> +</div> + + </div><!-- /.container --> +</div><!-- /.content --> + +<hr> + + + + <!-- footer --> + <div class="footer"> + <div class="container"> + <div class="col-md-4 social-blk"> + <span class="social"> + <a href="https://twitter.com/ApacheMesos" + class="twitter-follow-button" + data-show-count="false" data-size="large">Follow @ApacheMesos</a> + <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> + <a href="https://twitter.com/intent/tweet?button_hashtag=mesos" + class="twitter-hashtag-button" + data-size="large" + data-related="ApacheMesos">Tweet #mesos</a> + <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> + </span> + </div> + + <div class="col-md-8 trademark"> + <p>© 2012-2017 <a href="http://apache.org">The Apache Software Foundation</a>. + Apache Mesos, the Apache feather logo, and the Apache Mesos project logo are trademarks of The Apache Software Foundation. + <p> + </div> + </div><!-- /.container --> + </div><!-- /.footer --> + + <!-- JS --> + <script src="//code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script> + <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js" type="text/javascript"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/anchor-js/4.1.0/anchor.min.js" type="text/javascript"></script> + + <!-- Inject anchors for all headings on the page, see https://www.bryanbraun.com/anchorjs. --> + <script type="text/javascript"> + anchors.options = { + placement: 'right', + ariaLabel: 'Permalink', + }; + + // The default is to not add anchors to h1, but we have pages with multiple h1 headers, + // and we do want to put anchors on those. + anchors.add('h1, h2, h3, h4, h5, h6'); + </script> + </body> +</html> http://git-wip-us.apache.org/repos/asf/mesos-site/blob/5db8a665/content/documentation/latest/index.html ---------------------------------------------------------------------- diff --git a/content/documentation/latest/index.html b/content/documentation/latest/index.html index a86c7e8..6cb4c51 100644 --- a/content/documentation/latest/index.html +++ b/content/documentation/latest/index.html @@ -150,6 +150,7 @@ <li><a href="/documentation/latest/./monitoring/">Monitoring</a></li> <li><a href="/documentation/latest/./operational-guide/">Operational Guide</a></li> <li><a href="/documentation/latest/./fetcher/">Fetcher Cache Configuration</a></li> +<li><a href="/documentation/latest/./fault-domains/">Fault Domains</a></li> </ul>
