Added: samza/site/learn/documentation/0.10/jobs/yarn-jobs.html
URL: 
http://svn.apache.org/viewvc/samza/site/learn/documentation/0.10/jobs/yarn-jobs.html?rev=1721445&view=auto
==============================================================================
--- samza/site/learn/documentation/0.10/jobs/yarn-jobs.html (added)
+++ samza/site/learn/documentation/0.10/jobs/yarn-jobs.html Tue Dec 22 19:01:05 
2015
@@ -0,0 +1,208 @@
+<!DOCTYPE html>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Samza - YARN Jobs</title>
+    <link href='/css/ropa-sans.css' rel='stylesheet' type='text/css'/>
+    <link href="/css/bootstrap.min.css" rel="stylesheet"/>
+    <link href="/css/font-awesome.min.css" rel="stylesheet"/>
+    <link href="/css/main.css" rel="stylesheet"/>
+    <link href="/css/syntax.css" rel="stylesheet"/>
+    <link rel="icon" type="image/png" href="/img/samza-icon.png">
+    <script src="/js/jquery-1.11.1.min.js"></script>
+  </head>
+  <body>
+    <div class="wrapper">
+      <div class="wrapper-content">
+
+        <div class="masthead">
+          <div class="container">
+            <div class="masthead-logo">
+              <a href="/" class="logo">samza</a>
+            </div>
+            <div class="masthead-icons">
+              <div class="pull-right">
+                <a href="/startup/download"><i class="fa 
fa-arrow-circle-o-down masthead-icon"></i></a>
+                <a 
href="https://git-wip-us.apache.org/repos/asf?p=samza.git;a=tree"; 
target="_blank"><i class="fa fa-code masthead-icon" style="font-weight: 
bold;"></i></a>
+                <a href="https://twitter.com/samzastream"; target="_blank"><i 
class="fa fa-twitter masthead-icon"></i></a>
+                <!-- this icon only shows in versioned pages -->
+                
+                  
+                    
+                  
+                  <a 
href="http://samza.apache.org/learn/documentation/latest/jobs/yarn-jobs.html";><i
 id="switch-version-button"></i></a>
+                   <!-- links for the navigation bar -->
+                
+
+              </div>
+            </div>
+          </div><!-- /.container -->
+        </div>
+
+        <div class="container">
+          <div class="menu">
+            <h1><i class="fa fa-rocket"></i> Getting Started</h1>
+            <ul>
+              <li><a href="/startup/hello-samza/0.10">Hello Samza</a></li>
+              <li><a href="/startup/download">Download</a></li>
+            </ul>
+
+            <h1><i class="fa fa-book"></i> Learn</h1>
+            <ul>
+              <li><a href="/learn/documentation/0.10">Documentation</a></li>
+              <li><a 
href="/learn/documentation/0.10/jobs/configuration-table.html">Configuration</a></li>
+              <li><a 
href="/learn/documentation/0.10/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.10">Tutorials</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ";>FAQ</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza";>Wiki</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876";>Papers
 &amp; Talks</a></li>
+              <li><a href="http://blogs.apache.org/samza";>Blog</a></li>
+            </ul>
+
+            <h1><i class="fa fa-comments"></i> Community</h1>
+            <ul>
+              <li><a href="/community/mailing-lists.html">Mailing 
Lists</a></li>
+              <li><a href="/community/irc.html">IRC</a></li>
+              <li><a 
href="https://issues.apache.org/jira/browse/SAMZA";>Bugs</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Powered+By";>Powered 
by</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Ecosystem";>Ecosystem</a></li>
+              <li><a href="/community/committers.html">Committers</a></li>
+            </ul>
+
+            <h1><i class="fa fa-code"></i> Contribute</h1>
+            <ul>
+              <li><a href="/contribute/rules.html">Rules</a></li>
+              <li><a href="/contribute/coding-guide.html">Coding Guide</a></li>
+              <li><a href="/contribute/projects.html">Projects</a></li>
+              <li><a href="/contribute/design-documents.html">Design 
Documents</a></li>
+              <li><a href="/contribute/code.html">Code</a></li>
+              <li><a href="https://reviews.apache.org/groups/samza";>Review 
Board</a></li>
+              <li><a href="/contribute/tests.html">Tests</a></li>
+            </ul>
+
+            <h1><i class="fa fa-history"></i> Archive</h1>
+            <ul>
+              <li><a href="/archive/index.html#latest">latest</a></li>
+              <li><a href="/archive/index.html#09">0.9</a></li>
+              <li><a href="/archive/index.html#08">0.8</a></li>
+              <li><a href="/archive/index.html#07">0.7</a></li>
+            </ul>
+          </div>
+
+          <div class="content">
+            <!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<h2>YARN Jobs</h2>
+
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<p>When you define 
<code>job.factory.class=org.apache.samza.job.yarn.YarnJobFactory</code> in your 
job&rsquo;s configuration, Samza will use YARN to execute your job. The 
YarnJobFactory will use the HADOOP<em>YARN</em>HOME environment variable on the 
machine that run-job.sh is executed on to get the appropriate YARN 
configuration, which will define where the YARN resource manager is. The 
YarnJob will work with the resource manager to get your job started on the YARN 
cluster.</p>
+
+<p>If you want to use YARN to run your Samza job, you&rsquo;ll also need to 
define the location of your Samza job&rsquo;s package. For example, you might 
say:</p>
+
+<div class="highlight"><pre><code class="jproperties"><span 
class="na">yarn.package.path</span><span class="o">=</span><span 
class="s">http://my.http.server/jobs/ingraphs-package-0.0.55.tgz</span></code></pre></div>
+
+<p>This .tgz file follows the conventions outlined on the <a 
href="packaging.html">Packaging</a> page (it has bin/run-am.sh and 
bin/run-container.sh). YARN NodeManagers will take responsibility for 
downloading this .tgz file on the appropriate machines, and untar&#39;ing them. 
From there, YARN will execute run-am.sh or run-container.sh for the Samza 
Application Master, and SamzaContainer, respectively.</p>
+
+<p>If you want to run Samza job in the specific YARN queue not the default 
one, you can set <code>yarn.queue</code> property in your job&rsquo;s 
configuration. For example, with the following property setting,</p>
+
+<div class="highlight"><pre><code class="jproperties"><span 
class="na">yarn.queue</span><span class="o">=</span><span 
class="s">root.adhoc</span></code></pre></div>
+
+<p>Samza job will run in the root.adhoc queue.</p>
+
+<!-- TODO document yarn.container.count and other key configs -->
+
+<h2 id="logging-&raquo;"><a href="logging.html">Logging &raquo;</a></h2>
+
+
+          </div>
+        </div>
+
+      </div><!-- /.wrapper-content -->
+    </div><!-- /.wrapper -->
+
+    <div class="footer">
+      <div class="container">
+        <!-- nothing for now. -->
+      </div>
+    </div>
+
+  
+    <script>
+      $( document ).ready(function() {
+        if ( $.fn.urlExists( "/learn/documentation/latest/jobs/yarn-jobs.html" 
) ) {
+          $("#switch-version-button").addClass("fa fa-history masthead-icon");
+        }
+      });
+
+      /* a function to test whether the url exists or not */
+      (function( $ ) {
+        $.fn.urlExists = function(url) {
+          var http = new XMLHttpRequest();
+          http.open('HEAD', url, false);
+          http.send();
+          return http.status != 404;
+        };
+      }( jQuery ));
+    </script>
+  
+
+    <!-- Google Analytics -->
+    <script>
+      
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
+      
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-43122768-1', 'apache.org');
+      ga('send', 'pageview');
+
+    </script>
+  </body>
+</html>

Added: samza/site/learn/documentation/0.10/operations/kafka.html
URL: 
http://svn.apache.org/viewvc/samza/site/learn/documentation/0.10/operations/kafka.html?rev=1721445&view=auto
==============================================================================
--- samza/site/learn/documentation/0.10/operations/kafka.html (added)
+++ samza/site/learn/documentation/0.10/operations/kafka.html Tue Dec 22 
19:01:05 2015
@@ -0,0 +1,202 @@
+<!DOCTYPE html>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Samza - Kafka</title>
+    <link href='/css/ropa-sans.css' rel='stylesheet' type='text/css'/>
+    <link href="/css/bootstrap.min.css" rel="stylesheet"/>
+    <link href="/css/font-awesome.min.css" rel="stylesheet"/>
+    <link href="/css/main.css" rel="stylesheet"/>
+    <link href="/css/syntax.css" rel="stylesheet"/>
+    <link rel="icon" type="image/png" href="/img/samza-icon.png">
+    <script src="/js/jquery-1.11.1.min.js"></script>
+  </head>
+  <body>
+    <div class="wrapper">
+      <div class="wrapper-content">
+
+        <div class="masthead">
+          <div class="container">
+            <div class="masthead-logo">
+              <a href="/" class="logo">samza</a>
+            </div>
+            <div class="masthead-icons">
+              <div class="pull-right">
+                <a href="/startup/download"><i class="fa 
fa-arrow-circle-o-down masthead-icon"></i></a>
+                <a 
href="https://git-wip-us.apache.org/repos/asf?p=samza.git;a=tree"; 
target="_blank"><i class="fa fa-code masthead-icon" style="font-weight: 
bold;"></i></a>
+                <a href="https://twitter.com/samzastream"; target="_blank"><i 
class="fa fa-twitter masthead-icon"></i></a>
+                <!-- this icon only shows in versioned pages -->
+                
+                  
+                    
+                  
+                  <a 
href="http://samza.apache.org/learn/documentation/latest/operations/kafka.html";><i
 id="switch-version-button"></i></a>
+                   <!-- links for the navigation bar -->
+                
+
+              </div>
+            </div>
+          </div><!-- /.container -->
+        </div>
+
+        <div class="container">
+          <div class="menu">
+            <h1><i class="fa fa-rocket"></i> Getting Started</h1>
+            <ul>
+              <li><a href="/startup/hello-samza/0.10">Hello Samza</a></li>
+              <li><a href="/startup/download">Download</a></li>
+            </ul>
+
+            <h1><i class="fa fa-book"></i> Learn</h1>
+            <ul>
+              <li><a href="/learn/documentation/0.10">Documentation</a></li>
+              <li><a 
href="/learn/documentation/0.10/jobs/configuration-table.html">Configuration</a></li>
+              <li><a 
href="/learn/documentation/0.10/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.10">Tutorials</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ";>FAQ</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza";>Wiki</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876";>Papers
 &amp; Talks</a></li>
+              <li><a href="http://blogs.apache.org/samza";>Blog</a></li>
+            </ul>
+
+            <h1><i class="fa fa-comments"></i> Community</h1>
+            <ul>
+              <li><a href="/community/mailing-lists.html">Mailing 
Lists</a></li>
+              <li><a href="/community/irc.html">IRC</a></li>
+              <li><a 
href="https://issues.apache.org/jira/browse/SAMZA";>Bugs</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Powered+By";>Powered 
by</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Ecosystem";>Ecosystem</a></li>
+              <li><a href="/community/committers.html">Committers</a></li>
+            </ul>
+
+            <h1><i class="fa fa-code"></i> Contribute</h1>
+            <ul>
+              <li><a href="/contribute/rules.html">Rules</a></li>
+              <li><a href="/contribute/coding-guide.html">Coding Guide</a></li>
+              <li><a href="/contribute/projects.html">Projects</a></li>
+              <li><a href="/contribute/design-documents.html">Design 
Documents</a></li>
+              <li><a href="/contribute/code.html">Code</a></li>
+              <li><a href="https://reviews.apache.org/groups/samza";>Review 
Board</a></li>
+              <li><a href="/contribute/tests.html">Tests</a></li>
+            </ul>
+
+            <h1><i class="fa fa-history"></i> Archive</h1>
+            <ul>
+              <li><a href="/archive/index.html#latest">latest</a></li>
+              <li><a href="/archive/index.html#09">0.9</a></li>
+              <li><a href="/archive/index.html#08">0.8</a></li>
+              <li><a href="/archive/index.html#07">0.7</a></li>
+            </ul>
+          </div>
+
+          <div class="content">
+            <!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<h2>Kafka</h2>
+
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<!-- TODO kafka page should be fleshed out a bit -->
+
+<!-- TODO when 0.8.1 is released, update with state management config 
information -->
+
+<p>Kafka has a great <a href="http://kafka.apache.org/08/ops.html";>operations 
wiki</a>, which provides some detail on how to operate Kafka at scale.</p>
+
+<h3 id="auto-create-topics">Auto-Create Topics</h3>
+
+<p>Kafka brokers should be configured to automatically create topics. Without 
this, it&rsquo;s going to be very cumbersome to run Samze jobs, since jobs will 
write to arbitrary (and sometimes new) topics.</p>
+
+<div class="highlight"><pre><code class="jproperties"><span 
class="na">auto.create.topics.enable</span><span class="o">=</span><span 
class="s">true</span></code></pre></div>
+
+
+          </div>
+        </div>
+
+      </div><!-- /.wrapper-content -->
+    </div><!-- /.wrapper -->
+
+    <div class="footer">
+      <div class="container">
+        <!-- nothing for now. -->
+      </div>
+    </div>
+
+  
+    <script>
+      $( document ).ready(function() {
+        if ( $.fn.urlExists( 
"/learn/documentation/latest/operations/kafka.html" ) ) {
+          $("#switch-version-button").addClass("fa fa-history masthead-icon");
+        }
+      });
+
+      /* a function to test whether the url exists or not */
+      (function( $ ) {
+        $.fn.urlExists = function(url) {
+          var http = new XMLHttpRequest();
+          http.open('HEAD', url, false);
+          http.send();
+          return http.status != 404;
+        };
+      }( jQuery ));
+    </script>
+  
+
+    <!-- Google Analytics -->
+    <script>
+      
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
+      
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-43122768-1', 'apache.org');
+      ga('send', 'pageview');
+
+    </script>
+  </body>
+</html>

Added: samza/site/learn/documentation/0.10/operations/security.html
URL: 
http://svn.apache.org/viewvc/samza/site/learn/documentation/0.10/operations/security.html?rev=1721445&view=auto
==============================================================================
--- samza/site/learn/documentation/0.10/operations/security.html (added)
+++ samza/site/learn/documentation/0.10/operations/security.html Tue Dec 22 
19:01:05 2015
@@ -0,0 +1,244 @@
+<!DOCTYPE html>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Samza - Security</title>
+    <link href='/css/ropa-sans.css' rel='stylesheet' type='text/css'/>
+    <link href="/css/bootstrap.min.css" rel="stylesheet"/>
+    <link href="/css/font-awesome.min.css" rel="stylesheet"/>
+    <link href="/css/main.css" rel="stylesheet"/>
+    <link href="/css/syntax.css" rel="stylesheet"/>
+    <link rel="icon" type="image/png" href="/img/samza-icon.png">
+    <script src="/js/jquery-1.11.1.min.js"></script>
+  </head>
+  <body>
+    <div class="wrapper">
+      <div class="wrapper-content">
+
+        <div class="masthead">
+          <div class="container">
+            <div class="masthead-logo">
+              <a href="/" class="logo">samza</a>
+            </div>
+            <div class="masthead-icons">
+              <div class="pull-right">
+                <a href="/startup/download"><i class="fa 
fa-arrow-circle-o-down masthead-icon"></i></a>
+                <a 
href="https://git-wip-us.apache.org/repos/asf?p=samza.git;a=tree"; 
target="_blank"><i class="fa fa-code masthead-icon" style="font-weight: 
bold;"></i></a>
+                <a href="https://twitter.com/samzastream"; target="_blank"><i 
class="fa fa-twitter masthead-icon"></i></a>
+                <!-- this icon only shows in versioned pages -->
+                
+                  
+                    
+                  
+                  <a 
href="http://samza.apache.org/learn/documentation/latest/operations/security.html";><i
 id="switch-version-button"></i></a>
+                   <!-- links for the navigation bar -->
+                
+
+              </div>
+            </div>
+          </div><!-- /.container -->
+        </div>
+
+        <div class="container">
+          <div class="menu">
+            <h1><i class="fa fa-rocket"></i> Getting Started</h1>
+            <ul>
+              <li><a href="/startup/hello-samza/0.10">Hello Samza</a></li>
+              <li><a href="/startup/download">Download</a></li>
+            </ul>
+
+            <h1><i class="fa fa-book"></i> Learn</h1>
+            <ul>
+              <li><a href="/learn/documentation/0.10">Documentation</a></li>
+              <li><a 
href="/learn/documentation/0.10/jobs/configuration-table.html">Configuration</a></li>
+              <li><a 
href="/learn/documentation/0.10/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.10">Tutorials</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ";>FAQ</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza";>Wiki</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876";>Papers
 &amp; Talks</a></li>
+              <li><a href="http://blogs.apache.org/samza";>Blog</a></li>
+            </ul>
+
+            <h1><i class="fa fa-comments"></i> Community</h1>
+            <ul>
+              <li><a href="/community/mailing-lists.html">Mailing 
Lists</a></li>
+              <li><a href="/community/irc.html">IRC</a></li>
+              <li><a 
href="https://issues.apache.org/jira/browse/SAMZA";>Bugs</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Powered+By";>Powered 
by</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Ecosystem";>Ecosystem</a></li>
+              <li><a href="/community/committers.html">Committers</a></li>
+            </ul>
+
+            <h1><i class="fa fa-code"></i> Contribute</h1>
+            <ul>
+              <li><a href="/contribute/rules.html">Rules</a></li>
+              <li><a href="/contribute/coding-guide.html">Coding Guide</a></li>
+              <li><a href="/contribute/projects.html">Projects</a></li>
+              <li><a href="/contribute/design-documents.html">Design 
Documents</a></li>
+              <li><a href="/contribute/code.html">Code</a></li>
+              <li><a href="https://reviews.apache.org/groups/samza";>Review 
Board</a></li>
+              <li><a href="/contribute/tests.html">Tests</a></li>
+            </ul>
+
+            <h1><i class="fa fa-history"></i> Archive</h1>
+            <ul>
+              <li><a href="/archive/index.html#latest">latest</a></li>
+              <li><a href="/archive/index.html#09">0.9</a></li>
+              <li><a href="/archive/index.html#08">0.8</a></li>
+              <li><a href="/archive/index.html#07">0.7</a></li>
+            </ul>
+          </div>
+
+          <div class="content">
+            <!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<h2>Security</h2>
+
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<p>Samza provides no security. All security is implemented in the stream 
system, or in the environment that Samza containers run.</p>
+
+<h3 id="securing-streaming-systems">Securing Streaming Systems</h3>
+
+<p>Samza does not provide any security at the stream system level. It is up to 
individual streaming systems to enforce their own security. If a stream system 
requires usernames and passwords in order to consume from specific streams, 
these values must be supplied via configuration, and used at the 
StreamConsumer/StreamConsumerFactory implementation. The same holds true if the 
streaming system uses SSL certificates or Kerberos. The environment in which 
Samza runs must provide the appropriate certificate or Kerberos ticket, and the 
StreamConsumer must be implemented to use these certificates or tickets.</p>
+
+<h4 id="securing-kafka">Securing Kafka</h4>
+
+<p>Kafka provides no security for its topics, and therefore Samza 
doesn&rsquo;t provide any security when using Kafka topics.</p>
+
+<h3 id="securing-samza&#39;s-environment">Securing Samza&rsquo;s 
Environment</h3>
+
+<p>The most important thing to keep in mind when securing an environment that 
Samza containers run in is that <strong>Samza containers execute arbitrary user 
code</strong>. They must considered an adversarial application, and the 
environment must be locked down accordingly.</p>
+
+<h4 id="configuration">Configuration</h4>
+
+<p>Samza reads all configuration at the time a Samza job is started using the 
run-job.sh script. If configuration contains sensitive information, then care 
must be taken to provide the JobRunner with the configuration. This means 
implementing a ConfigFactory that understands the configuration security model, 
and resolves configuration to Samza&rsquo;s Config object in a secure way.</p>
+
+<p>During the duration of a Samza job&rsquo;s execution, the configuration is 
kept in memory. The only time configuration is visible is:</p>
+
+<ol>
+<li>When configuration is resolved using a ConfigFactory.</li>
+<li>The configuration is printed to STDOUT when run-job.sh is run.</li>
+<li>The configuration is written to the logs when a Samza container 
starts.</li>
+</ol>
+
+<p>If configuration contains sensitive data, then these three points must be 
secured.</p>
+
+<h4 id="ports">Ports</h4>
+
+<p>The only port that a Samza container opens by default is an un-secured JMX 
port that is randomly selected at start time. If this is not desired, JMX can 
be disabled through configuration. See the <a 
href="configuration.html">Configuration</a> page for details.</p>
+
+<p>Users might open ports from inside a Samza container. If this is not 
desired, then the user that executes the Samza container must have the 
appropriate permissions revoked, usually using iptables.</p>
+
+<h4 id="logs">Logs</h4>
+
+<p>Samza container logs contain configuration, and might contain arbitrary 
sensitive data logged by the user. A secure log directory must be provided to 
the Samza container.</p>
+
+<h4 id="starting-a-samza-job">Starting a Samza Job</h4>
+
+<p>If operators do not wish to allow Samza containers to be executed by 
arbitrary users, then the mechanism that Samza containers are deployed must 
secured. Usually, this means controlling execution of the run-job.sh script. 
The recommended pattern is to lock down the machines that Samza containers run 
on, and execute run-job.sh from either a blessed web service or special 
machine, and only allow access to the service or machine by specific users.</p>
+
+<h4 id="shell-scripts">Shell Scripts</h4>
+
+<p>Please see the <a href="packaging.html">Packaging</a> section for details 
on the the shell scripts that Samza uses. Samza containers allow users to 
execute arbitrary shell commands, so user permissions must be locked down to 
prevent users from damaging the environment or reading sensitive data.</p>
+
+<h4 id="yarn">YARN</h4>
+
+<!-- TODO make the security page link to the actual YARN security document, 
when we write it. -->
+
+<p>Samza provides out-of-the-box YARN integration. Take a look at 
Samza&rsquo;s YARN Security page for details.</p>
+
+<h2 id="kafka-&raquo;"><a href="kafka.html">Kafka &raquo;</a></h2>
+
+
+          </div>
+        </div>
+
+      </div><!-- /.wrapper-content -->
+    </div><!-- /.wrapper -->
+
+    <div class="footer">
+      <div class="container">
+        <!-- nothing for now. -->
+      </div>
+    </div>
+
+  
+    <script>
+      $( document ).ready(function() {
+        if ( $.fn.urlExists( 
"/learn/documentation/latest/operations/security.html" ) ) {
+          $("#switch-version-button").addClass("fa fa-history masthead-icon");
+        }
+      });
+
+      /* a function to test whether the url exists or not */
+      (function( $ ) {
+        $.fn.urlExists = function(url) {
+          var http = new XMLHttpRequest();
+          http.open('HEAD', url, false);
+          http.send();
+          return http.status != 404;
+        };
+      }( jQuery ));
+    </script>
+  
+
+    <!-- Google Analytics -->
+    <script>
+      
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
+      
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-43122768-1', 'apache.org');
+      ga('send', 'pageview');
+
+    </script>
+  </body>
+</html>

Added: samza/site/learn/documentation/0.10/yarn/application-master.html
URL: 
http://svn.apache.org/viewvc/samza/site/learn/documentation/0.10/yarn/application-master.html?rev=1721445&view=auto
==============================================================================
--- samza/site/learn/documentation/0.10/yarn/application-master.html (added)
+++ samza/site/learn/documentation/0.10/yarn/application-master.html Tue Dec 22 
19:01:05 2015
@@ -0,0 +1,229 @@
+<!DOCTYPE html>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Samza - Application Master</title>
+    <link href='/css/ropa-sans.css' rel='stylesheet' type='text/css'/>
+    <link href="/css/bootstrap.min.css" rel="stylesheet"/>
+    <link href="/css/font-awesome.min.css" rel="stylesheet"/>
+    <link href="/css/main.css" rel="stylesheet"/>
+    <link href="/css/syntax.css" rel="stylesheet"/>
+    <link rel="icon" type="image/png" href="/img/samza-icon.png">
+    <script src="/js/jquery-1.11.1.min.js"></script>
+  </head>
+  <body>
+    <div class="wrapper">
+      <div class="wrapper-content">
+
+        <div class="masthead">
+          <div class="container">
+            <div class="masthead-logo">
+              <a href="/" class="logo">samza</a>
+            </div>
+            <div class="masthead-icons">
+              <div class="pull-right">
+                <a href="/startup/download"><i class="fa 
fa-arrow-circle-o-down masthead-icon"></i></a>
+                <a 
href="https://git-wip-us.apache.org/repos/asf?p=samza.git;a=tree"; 
target="_blank"><i class="fa fa-code masthead-icon" style="font-weight: 
bold;"></i></a>
+                <a href="https://twitter.com/samzastream"; target="_blank"><i 
class="fa fa-twitter masthead-icon"></i></a>
+                <!-- this icon only shows in versioned pages -->
+                
+                  
+                    
+                  
+                  <a 
href="http://samza.apache.org/learn/documentation/latest/yarn/application-master.html";><i
 id="switch-version-button"></i></a>
+                   <!-- links for the navigation bar -->
+                
+
+              </div>
+            </div>
+          </div><!-- /.container -->
+        </div>
+
+        <div class="container">
+          <div class="menu">
+            <h1><i class="fa fa-rocket"></i> Getting Started</h1>
+            <ul>
+              <li><a href="/startup/hello-samza/0.10">Hello Samza</a></li>
+              <li><a href="/startup/download">Download</a></li>
+            </ul>
+
+            <h1><i class="fa fa-book"></i> Learn</h1>
+            <ul>
+              <li><a href="/learn/documentation/0.10">Documentation</a></li>
+              <li><a 
href="/learn/documentation/0.10/jobs/configuration-table.html">Configuration</a></li>
+              <li><a 
href="/learn/documentation/0.10/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.10">Tutorials</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ";>FAQ</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza";>Wiki</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876";>Papers
 &amp; Talks</a></li>
+              <li><a href="http://blogs.apache.org/samza";>Blog</a></li>
+            </ul>
+
+            <h1><i class="fa fa-comments"></i> Community</h1>
+            <ul>
+              <li><a href="/community/mailing-lists.html">Mailing 
Lists</a></li>
+              <li><a href="/community/irc.html">IRC</a></li>
+              <li><a 
href="https://issues.apache.org/jira/browse/SAMZA";>Bugs</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Powered+By";>Powered 
by</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Ecosystem";>Ecosystem</a></li>
+              <li><a href="/community/committers.html">Committers</a></li>
+            </ul>
+
+            <h1><i class="fa fa-code"></i> Contribute</h1>
+            <ul>
+              <li><a href="/contribute/rules.html">Rules</a></li>
+              <li><a href="/contribute/coding-guide.html">Coding Guide</a></li>
+              <li><a href="/contribute/projects.html">Projects</a></li>
+              <li><a href="/contribute/design-documents.html">Design 
Documents</a></li>
+              <li><a href="/contribute/code.html">Code</a></li>
+              <li><a href="https://reviews.apache.org/groups/samza";>Review 
Board</a></li>
+              <li><a href="/contribute/tests.html">Tests</a></li>
+            </ul>
+
+            <h1><i class="fa fa-history"></i> Archive</h1>
+            <ul>
+              <li><a href="/archive/index.html#latest">latest</a></li>
+              <li><a href="/archive/index.html#09">0.9</a></li>
+              <li><a href="/archive/index.html#08">0.8</a></li>
+              <li><a href="/archive/index.html#07">0.7</a></li>
+            </ul>
+          </div>
+
+          <div class="content">
+            <!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<h2>Application Master</h2>
+
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<p>YARN is Hadoop&rsquo;s next-generation cluster manager. It allows 
developers to deploy and execute arbitrary commands on a grid. If you&rsquo;re 
unfamiliar with YARN, or the concept of an ApplicationMaster (AM), please read 
Hadoop&rsquo;s <a 
href="http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html";>YARN</a>
 page.</p>
+
+<h3 id="integration">Integration</h3>
+
+<p>Samza&rsquo;s main integration with YARN comes in the form of a Samza 
ApplicationMaster. This is the chunk of code responsible for managing a Samza 
job in a YARN grid. It decides what to do when a stream processor fails, which 
machines a Samza job&rsquo;s <a 
href="../container/samza-container.html">containers</a> should run on, and so 
on.</p>
+
+<p>When the Samza ApplicationMaster starts up, it does the following:</p>
+
+<ol>
+<li>Creates the <a 
href="../container/coordinator-stream.html#JobCoordinator">Job Coordinator</a> 
which bootstraps the Job Model and config from the <a 
href="../container/coordinator-stream.html">Coordinator Stream</a>.</li>
+<li>Starts a JMX server on a random port.</li>
+<li>Instantiates a metrics registry and reporters to keep track of relevant 
metrics.</li>
+<li>Registers the AM with YARN&rsquo;s RM.</li>
+<li>Gets the total number of partitions for the Samza job using each input 
stream&rsquo;s PartitionManager (see the <a 
href="../container/streams.html">Streams</a> page for details).</li>
+<li>Read the total number of containers requested from the Samza job&rsquo;s 
configuration.</li>
+<li>Assign each partition to a container (called a Task Group in Samza&rsquo;s 
AM dashboard).</li>
+<li>Make a <a 
href="http://hadoop.apache.org/docs/current/api/org/apache/hadoop/yarn/api/records/ResourceRequest.html";>ResourceRequest</a>
 to YARN for each container. If <a 
href="yarn-host-affinity.html">host-affinity</a> is enabled on the job, the AM 
uses the container locality information provided by the Job Coordinator and 
requests for the same host in the ResourceRequest.</li>
+<li>Starts a ContainerAllocator thread that matches allocated containers and 
starts the container process.</li>
+<li>Poll the YARN RM every second to check for allocated and released 
containers.</li>
+</ol>
+
+<p>From this point on, the ApplicationMaster just reacts to events from the RM 
and delegates it to the ContainerAllocator thread.</p>
+
+<h3 id="fault-tolerance">Fault Tolerance</h3>
+
+<p>Whenever a container is allocated, the AM will work with the YARN NM to 
start a SamzaContainer (with appropriate partitions assigned to it) in the 
container. If a container fails with a non-zero return code, the AM will 
request a new container, and restart the SamzaContainer. If a SamzaContainer 
fails too many times, too quickly, the ApplicationMaster will fail the whole 
Samza job with a non-zero return code. See the yarn.container.retry.count and 
yarn.container.retry.window.ms <a 
href="../jobs/configuration.html">configuration</a> parameters for details.</p>
+
+<p>When the AM receives a reboot signal from YARN, it will throw a 
SamzaException. This will trigger a clean and successful shutdown of the AM 
(YARN won&rsquo;t think the AM failed).</p>
+
+<p>If the AM, itself, fails, YARN will handle restarting the AM. When the AM 
is restarted, all containers that were running will be killed, and the AM will 
start from scratch. The same list of operations, shown above, will be executed. 
The AM will request new containers for its SamzaContainers, and proceed as 
though it has just started for the first time. YARN has a 
yarn.resourcemanager.am.max-retries configuration parameter that&rsquo;s 
defined in <a 
href="http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-common/yarn-default.xml";>yarn-site.xml</a>.
 This configuration defaults to 1, which means that, by default, a single AM 
failure will cause your Samza job to stop running.</p>
+
+<h3 id="security">Security</h3>
+
+<p>The Samza dashboard&rsquo;s HTTP access is currently un-secured, even when 
using YARN in secure-mode. This means that users with access to a YARN grid 
could port-scan a Samza ApplicationMaster&rsquo;s HTTP server, and open the 
dashboard in a browser to view its contents. Sensitive configuration can be 
viewed by anyone, in this way, and care should be taken. There are plans to 
secure Samza&rsquo;s ApplicationMaster using <a 
href="http://docs.hortonworks.com/HDPDocuments/HDP1/HDP-1.3.0/bk_installing_manually_book/content/rpm-chap14-2-3-1.html";>Hadoop&rsquo;s
 security</a> features (<a 
href="http://en.wikipedia.org/wiki/SPNEGO";>SPENAGO</a>).</p>
+
+<p>See Samza&rsquo;s <a href="../operations/security.html">security</a> page 
for more details.</p>
+
+<h2 id="isolation-&raquo;"><a href="isolation.html">Isolation &raquo;</a></h2>
+
+
+          </div>
+        </div>
+
+      </div><!-- /.wrapper-content -->
+    </div><!-- /.wrapper -->
+
+    <div class="footer">
+      <div class="container">
+        <!-- nothing for now. -->
+      </div>
+    </div>
+
+  
+    <script>
+      $( document ).ready(function() {
+        if ( $.fn.urlExists( 
"/learn/documentation/latest/yarn/application-master.html" ) ) {
+          $("#switch-version-button").addClass("fa fa-history masthead-icon");
+        }
+      });
+
+      /* a function to test whether the url exists or not */
+      (function( $ ) {
+        $.fn.urlExists = function(url) {
+          var http = new XMLHttpRequest();
+          http.open('HEAD', url, false);
+          http.send();
+          return http.status != 404;
+        };
+      }( jQuery ));
+    </script>
+  
+
+    <!-- Google Analytics -->
+    <script>
+      
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
+      
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-43122768-1', 'apache.org');
+      ga('send', 'pageview');
+
+    </script>
+  </body>
+</html>

Added: samza/site/learn/documentation/0.10/yarn/isolation.html
URL: 
http://svn.apache.org/viewvc/samza/site/learn/documentation/0.10/yarn/isolation.html?rev=1721445&view=auto
==============================================================================
--- samza/site/learn/documentation/0.10/yarn/isolation.html (added)
+++ samza/site/learn/documentation/0.10/yarn/isolation.html Tue Dec 22 19:01:05 
2015
@@ -0,0 +1,216 @@
+<!DOCTYPE html>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Samza - Isolation</title>
+    <link href='/css/ropa-sans.css' rel='stylesheet' type='text/css'/>
+    <link href="/css/bootstrap.min.css" rel="stylesheet"/>
+    <link href="/css/font-awesome.min.css" rel="stylesheet"/>
+    <link href="/css/main.css" rel="stylesheet"/>
+    <link href="/css/syntax.css" rel="stylesheet"/>
+    <link rel="icon" type="image/png" href="/img/samza-icon.png">
+    <script src="/js/jquery-1.11.1.min.js"></script>
+  </head>
+  <body>
+    <div class="wrapper">
+      <div class="wrapper-content">
+
+        <div class="masthead">
+          <div class="container">
+            <div class="masthead-logo">
+              <a href="/" class="logo">samza</a>
+            </div>
+            <div class="masthead-icons">
+              <div class="pull-right">
+                <a href="/startup/download"><i class="fa 
fa-arrow-circle-o-down masthead-icon"></i></a>
+                <a 
href="https://git-wip-us.apache.org/repos/asf?p=samza.git;a=tree"; 
target="_blank"><i class="fa fa-code masthead-icon" style="font-weight: 
bold;"></i></a>
+                <a href="https://twitter.com/samzastream"; target="_blank"><i 
class="fa fa-twitter masthead-icon"></i></a>
+                <!-- this icon only shows in versioned pages -->
+                
+                  
+                    
+                  
+                  <a 
href="http://samza.apache.org/learn/documentation/latest/yarn/isolation.html";><i
 id="switch-version-button"></i></a>
+                   <!-- links for the navigation bar -->
+                
+
+              </div>
+            </div>
+          </div><!-- /.container -->
+        </div>
+
+        <div class="container">
+          <div class="menu">
+            <h1><i class="fa fa-rocket"></i> Getting Started</h1>
+            <ul>
+              <li><a href="/startup/hello-samza/0.10">Hello Samza</a></li>
+              <li><a href="/startup/download">Download</a></li>
+            </ul>
+
+            <h1><i class="fa fa-book"></i> Learn</h1>
+            <ul>
+              <li><a href="/learn/documentation/0.10">Documentation</a></li>
+              <li><a 
href="/learn/documentation/0.10/jobs/configuration-table.html">Configuration</a></li>
+              <li><a 
href="/learn/documentation/0.10/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.10">Tutorials</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ";>FAQ</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza";>Wiki</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876";>Papers
 &amp; Talks</a></li>
+              <li><a href="http://blogs.apache.org/samza";>Blog</a></li>
+            </ul>
+
+            <h1><i class="fa fa-comments"></i> Community</h1>
+            <ul>
+              <li><a href="/community/mailing-lists.html">Mailing 
Lists</a></li>
+              <li><a href="/community/irc.html">IRC</a></li>
+              <li><a 
href="https://issues.apache.org/jira/browse/SAMZA";>Bugs</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Powered+By";>Powered 
by</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Ecosystem";>Ecosystem</a></li>
+              <li><a href="/community/committers.html">Committers</a></li>
+            </ul>
+
+            <h1><i class="fa fa-code"></i> Contribute</h1>
+            <ul>
+              <li><a href="/contribute/rules.html">Rules</a></li>
+              <li><a href="/contribute/coding-guide.html">Coding Guide</a></li>
+              <li><a href="/contribute/projects.html">Projects</a></li>
+              <li><a href="/contribute/design-documents.html">Design 
Documents</a></li>
+              <li><a href="/contribute/code.html">Code</a></li>
+              <li><a href="https://reviews.apache.org/groups/samza";>Review 
Board</a></li>
+              <li><a href="/contribute/tests.html">Tests</a></li>
+            </ul>
+
+            <h1><i class="fa fa-history"></i> Archive</h1>
+            <ul>
+              <li><a href="/archive/index.html#latest">latest</a></li>
+              <li><a href="/archive/index.html#09">0.9</a></li>
+              <li><a href="/archive/index.html#08">0.8</a></li>
+              <li><a href="/archive/index.html#07">0.7</a></li>
+            </ul>
+          </div>
+
+          <div class="content">
+            <!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<h2>Isolation</h2>
+
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<p>When running Samza jobs in a shared, distributed environment, the stream 
processors can have an impact on one another&rsquo;s performance. A stream 
processor that uses 100% of a machine&rsquo;s CPU will slow down all other 
stream processors on the machine.</p>
+
+<p>One of <a 
href="http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html";>YARN</a>&rsquo;s
 responsibilities is to manage resources so that this doesn&rsquo;t happen. 
Each of YARN&rsquo;s Node Managers (NM) has a chunk of &ldquo;resources&rdquo; 
dedicated to it. The YARN Resource Manager (RM) will only allow a container to 
be allocated on a NM if it has enough resources to satisfy the 
container&rsquo;s needs.</p>
+
+<p>YARN currently supports resource management for memory and CPU.</p>
+
+<h3 id="memory">Memory</h3>
+
+<p>YARN will automatically enforce memory limits for all containers that it 
executes. All containers must have a max-memory size defined when they&rsquo;re 
created. If the sum of all memory usage for processes associated with a single 
YARN container exceeds this maximum, YARN will kill the container.</p>
+
+<p>Samza supports memory limits using the yarn.container.memory.mb and 
yarn.am.container.memory.mb configuration parameters. Keep in mind that this is 
simply the amount of memory YARN will allow a <a 
href="../container/samza-container.html">SamzaContainer</a> or <a 
href="application-master.html">ApplicationMaster</a> to have. You&rsquo;ll 
still need to configure your heap settings appropriately using task.opts, when 
using Java (the default is -Xmx160M). See the <a 
href="../jobs/configuration.html">Configuration</a> and <a 
href="../jobs/packaging.html">Packaging</a> pages for details.</p>
+
+<h3 id="cpu">CPU</h3>
+
+<p>YARN has the concept of a virtual core. Each NM is assigned a total number 
of virtual cores (32, by default). When a container request is made, it must 
specify how many virtual cores it needs. The YARN RM will only assign the 
container to a NM that has enough virtual cores to satisfy the request.</p>
+
+<h4 id="cgroups">CGroups</h4>
+
+<p>Unlike memory, which YARN can enforce itself (by looking at the /proc 
folder), YARN can&rsquo;t enforce CPU isolation, since this must be done at the 
Linux kernel level. One of YARN&rsquo;s interesting new features is its support 
for Linux <a 
href="https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt";>CGroups</a>.
 CGroups are a way to control process utilization at the kernel level in 
Linux.</p>
+
+<p>If YARN is setup to use CGroups, then YARN will guarantee that a container 
will get at least the amount of CPU that it requires. Currently, YARN will give 
you more CPU, if it&rsquo;s available. For details on enforcing &ldquo;at 
most&rdquo; CPU usage, see <a 
href="https://issues.apache.org/jira/browse/YARN-810";>YARN-810</a>. </p>
+
+<p>See <a 
href="http://riccomini.name/posts/hadoop/2013-06-14-yarn-with-cgroups/";>this 
blog post</a> for details on setting up YARN with CGroups.</p>
+
+<h2 id="security-&raquo;"><a href="../operations/security.html">Security 
&raquo;</a></h2>
+
+
+          </div>
+        </div>
+
+      </div><!-- /.wrapper-content -->
+    </div><!-- /.wrapper -->
+
+    <div class="footer">
+      <div class="container">
+        <!-- nothing for now. -->
+      </div>
+    </div>
+
+  
+    <script>
+      $( document ).ready(function() {
+        if ( $.fn.urlExists( "/learn/documentation/latest/yarn/isolation.html" 
) ) {
+          $("#switch-version-button").addClass("fa fa-history masthead-icon");
+        }
+      });
+
+      /* a function to test whether the url exists or not */
+      (function( $ ) {
+        $.fn.urlExists = function(url) {
+          var http = new XMLHttpRequest();
+          http.open('HEAD', url, false);
+          http.send();
+          return http.status != 404;
+        };
+      }( jQuery ));
+    </script>
+  
+
+    <!-- Google Analytics -->
+    <script>
+      
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
+      
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-43122768-1', 'apache.org');
+      ga('send', 'pageview');
+
+    </script>
+  </body>
+</html>

Added: samza/site/learn/documentation/0.10/yarn/yarn-host-affinity.html
URL: 
http://svn.apache.org/viewvc/samza/site/learn/documentation/0.10/yarn/yarn-host-affinity.html?rev=1721445&view=auto
==============================================================================
--- samza/site/learn/documentation/0.10/yarn/yarn-host-affinity.html (added)
+++ samza/site/learn/documentation/0.10/yarn/yarn-host-affinity.html Tue Dec 22 
19:01:05 2015
@@ -0,0 +1,292 @@
+<!DOCTYPE html>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Samza - Host Affinity & YARN</title>
+    <link href='/css/ropa-sans.css' rel='stylesheet' type='text/css'/>
+    <link href="/css/bootstrap.min.css" rel="stylesheet"/>
+    <link href="/css/font-awesome.min.css" rel="stylesheet"/>
+    <link href="/css/main.css" rel="stylesheet"/>
+    <link href="/css/syntax.css" rel="stylesheet"/>
+    <link rel="icon" type="image/png" href="/img/samza-icon.png">
+    <script src="/js/jquery-1.11.1.min.js"></script>
+  </head>
+  <body>
+    <div class="wrapper">
+      <div class="wrapper-content">
+
+        <div class="masthead">
+          <div class="container">
+            <div class="masthead-logo">
+              <a href="/" class="logo">samza</a>
+            </div>
+            <div class="masthead-icons">
+              <div class="pull-right">
+                <a href="/startup/download"><i class="fa 
fa-arrow-circle-o-down masthead-icon"></i></a>
+                <a 
href="https://git-wip-us.apache.org/repos/asf?p=samza.git;a=tree"; 
target="_blank"><i class="fa fa-code masthead-icon" style="font-weight: 
bold;"></i></a>
+                <a href="https://twitter.com/samzastream"; target="_blank"><i 
class="fa fa-twitter masthead-icon"></i></a>
+                <!-- this icon only shows in versioned pages -->
+                
+                  
+                    
+                  
+                  <a 
href="http://samza.apache.org/learn/documentation/latest/yarn/yarn-host-affinity.html";><i
 id="switch-version-button"></i></a>
+                   <!-- links for the navigation bar -->
+                
+
+              </div>
+            </div>
+          </div><!-- /.container -->
+        </div>
+
+        <div class="container">
+          <div class="menu">
+            <h1><i class="fa fa-rocket"></i> Getting Started</h1>
+            <ul>
+              <li><a href="/startup/hello-samza/0.10">Hello Samza</a></li>
+              <li><a href="/startup/download">Download</a></li>
+            </ul>
+
+            <h1><i class="fa fa-book"></i> Learn</h1>
+            <ul>
+              <li><a href="/learn/documentation/0.10">Documentation</a></li>
+              <li><a 
href="/learn/documentation/0.10/jobs/configuration-table.html">Configuration</a></li>
+              <li><a 
href="/learn/documentation/0.10/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.10">Tutorials</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ";>FAQ</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza";>Wiki</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876";>Papers
 &amp; Talks</a></li>
+              <li><a href="http://blogs.apache.org/samza";>Blog</a></li>
+            </ul>
+
+            <h1><i class="fa fa-comments"></i> Community</h1>
+            <ul>
+              <li><a href="/community/mailing-lists.html">Mailing 
Lists</a></li>
+              <li><a href="/community/irc.html">IRC</a></li>
+              <li><a 
href="https://issues.apache.org/jira/browse/SAMZA";>Bugs</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Powered+By";>Powered 
by</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/SAMZA/Ecosystem";>Ecosystem</a></li>
+              <li><a href="/community/committers.html">Committers</a></li>
+            </ul>
+
+            <h1><i class="fa fa-code"></i> Contribute</h1>
+            <ul>
+              <li><a href="/contribute/rules.html">Rules</a></li>
+              <li><a href="/contribute/coding-guide.html">Coding Guide</a></li>
+              <li><a href="/contribute/projects.html">Projects</a></li>
+              <li><a href="/contribute/design-documents.html">Design 
Documents</a></li>
+              <li><a href="/contribute/code.html">Code</a></li>
+              <li><a href="https://reviews.apache.org/groups/samza";>Review 
Board</a></li>
+              <li><a href="/contribute/tests.html">Tests</a></li>
+            </ul>
+
+            <h1><i class="fa fa-history"></i> Archive</h1>
+            <ul>
+              <li><a href="/archive/index.html#latest">latest</a></li>
+              <li><a href="/archive/index.html#09">0.9</a></li>
+              <li><a href="/archive/index.html#08">0.8</a></li>
+              <li><a href="/archive/index.html#07">0.7</a></li>
+            </ul>
+          </div>
+
+          <div class="content">
+            <!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<h2>Host Affinity & YARN</h2>
+
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<p>In Samza, containers are the units of physical parallelism that runs on a 
set of machines. Each container is essentially a process that runs one or more 
stream tasks. Each task instance consumes one or more partitions of the input 
streams and is associated with its own durable data store. </p>
+
+<p>We define a <em>Stateful Samza Job</em> as the Samza job that uses a 
key-value store in its implementation, alone with an associated changelog 
stream. In stateful samza jobs, there is a 1:1 mapping between the task 
instance and the data store. Since the allocation of containers to machines in 
the Yarn cluster is completely left to Yarn, Samza does not guarantee that a 
container (and hence, its associated task(s)) gets deployed on the same 
machine. Containers can get shuffled in any of the following cases:</p>
+
+<ol>
+<li>When a job is upgraded by pointing <code>yarn.package.path</code> to the 
new package path and re-submitted.</li>
+<li>When a job is simply restarted by Yarn or the user</li>
+<li>When a container failure or premption triggers the SamzaAppMaster to 
re-allocate on another available resource</li>
+</ol>
+
+<p>In any of the above cases, the task&rsquo;s co-located data needs to be 
restored every time a container starts-up. Restoring data each time can be 
expensive, especially for applications that have a large data set. This 
behavior slows the start-up time for the job so much that the job is no longer 
&ldquo;near realtime&rdquo;. Furthermore, if multiple stateful samza jobs 
restart around the same time in the cluster and they all share the same 
changelog system, then it is possible to quickly saturate the changelog 
system&rsquo;s network and cause a DDoS.</p>
+
+<p>For instance, consider a Samza job performing a Stream-Table join. 
Typically, such a job requires the dataset to be available on all processors 
before they begin processing the input stream. The dataset is usually large 
(order &gt; 1TB) read-only data that will be used to join or add attributes to 
incoming messages. The job may initialize this cache by populated with data 
directly from a remote store or changelog stream. This cache initialization 
happens each time the container is restarted. This causes significant latency 
during job start-up.</p>
+
+<p>The solution, then, is to simply persist the state store on the machine in 
which the container process is executing and re-allocate the same host for the 
container each time the job is restarted, in order to re-use the persisted 
state. Thus, the ability of Samza to allocate a container to the same machine 
across job restarts is referred to as <strong><em>host-affinity</em></strong>. 
Samza leverages host-affinity to enhance our support for local state re-use.</p>
+
+<h2 id="how-does-it-work?">How does it work?</h2>
+
+<p>When a stateful Samza job is deployed in Yarn, the state stores for the 
tasks are co-located in the current working directory of Yarn&rsquo;s 
application attempt.</p>
+
+<div class="highlight"><pre><code class="bash"><span 
class="nv">container_working_dir</span><span class="o">=</span><span 
class="k">${</span><span class="nv">yarn</span><span 
class="p">.nodemanager.local-dirs</span><span 
class="k">}</span>/usercache/<span class="k">${</span><span 
class="nv">user</span><span class="k">}</span>/appcache/application_<span 
class="k">${</span><span class="nv">appid</span><span 
class="k">}</span>/container_<span class="k">${</span><span 
class="nv">contid</span><span class="k">}</span>/
+
+<span class="c"># Data Stores</span>
+ls <span class="k">${</span><span class="nv">container_working_dir</span><span 
class="k">}</span>/state/<span class="k">${</span><span 
class="nv">store</span><span class="p">-name</span><span 
class="k">}</span>/<span class="k">${</span><span 
class="nv">task_name</span><span class="k">}</span>/</code></pre></div>
+
+<p>This allows the Node Manager&rsquo;s (NM) DeletionService to clean-up the 
working directory once the application completes or fails. In order to re-use 
local state store, the state store needs to be persisted outside the scope of 
NM&rsquo;s deletion service. The cluster administrator should set this location 
as an environment variable in Yarn - <code>LOGGED_STORE_BASE_DIR</code>.</p>
+
+<p><img src="/img/0.10/learn/documentation/yarn/samza-host-affinity.png" 
alt="samza-host-affinity"></p>
+
+<p>When a container is <em>cleanly shutdown</em>, Samza also writes the last 
materialized offset from the changelog stream to the checksumed file on disk. 
Thus, there is an <em>OFFSET</em> file associated with each state stores&#39; 
changelog partitions, that is consumed by the tasks in the container.</p>
+
+<div class="highlight"><pre><code class="bash"><span class="k">${</span><span 
class="nv">LOGGED_STORE_BASE_DIR</span><span class="k">}</span>/<span 
class="k">${</span><span class="nv">job</span><span class="p">.name</span><span 
class="k">}</span>-<span class="k">${</span><span class="nv">job</span><span 
class="p">.id</span><span class="k">}</span>/<span class="k">${</span><span 
class="nv">store</span><span class="p">.name</span><span 
class="k">}</span>/<span class="k">${</span><span class="nv">task</span><span 
class="p">.name</span><span class="k">}</span>/OFFSET</code></pre></div>
+
+<p>Now, when a container restarts on the same machine after a clean shutdown 
and the OFFSET file exists, the Samza container:</p>
+
+<ol>
+<li>Opens the persisted store on disk</li>
+<li>Reads the OFFSET file</li>
+<li>Deletes the OFFSET file</li>
+<li>Restores the state store from the OFFSET value</li>
+</ol>
+
+<p>If the OFFSET file doesn&rsquo;t exist, it creates the state store and 
consumes from the oldest offset in the changelog to re-create the state. Note 
that Samza optimistically deletes the OFFSET file in step 3 to prevent data 
from getting corrupted due to any kind of failure during state restoration. 
This significantly reduces the state restoration time on container start-up as 
we no longer consume from the beginning of the changelog stream.</p>
+
+<p>It is necessary to periodically clean-up unused or orphaned state stores on 
the machines to manage disk-space. This feature is being worked on in <a 
href="https://issues.apache.org/jira/browse/SAMZA-656";>SAMZA-656</a>.</p>
+
+<p>In order to re-use local state, Samza has to sucessfully claim the specific 
hosts from the Resource Manager (RM). To support this, the Samza containers 
write their locality information to the <a 
href="../container/coordinator-stream.html">Coordinator Stream</a> every time 
they start-up successfully. Now, the Samza Application Master (AM) can identify 
the last known host of a container via the <a 
href="../container/coordinator-stream.html">Job Coordinator</a>(JC) and the 
application is no longer agnostic of the container locality. On a container 
failure (due to any of the above cited reasons), the AM includes the hostname 
of the expected resource in the <a 
href="https://github.com/apache/hadoop/blob/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ResourceRequest.java#L239%5D";>ResourceRequest</a>.</p>
+
+<p>Note that the Yarn cluster has to be configured to use <a 
href="https://hadoop.apache.org/docs/r2.6.0/hadoop-yarn/hadoop-yarn-site/FairScheduler.html";>Fair
 Scheduler</a> with continuous-scheduling enabled. With continuous scheduling, 
the scheduler continuously iterates through all nodes in the cluster, instead 
of relying on the nodes&#39; heartbeat, and schedules work based on previously 
known status for each node, before relaxing locality. Hence, the scheduler 
takes care of relaxing locality after the configured delay. This approach can 
be considered as a &ldquo;<em>best-effort stickiness</em>&rdquo; policy because 
it is possible that the requested node is not running or does not have 
sufficient resources at the time of request (even though the state in the data 
stores may be persisted). For more details on the choice of Fair Scheduler, 
please refer the <a 
href="https://issues.apache.org/jira/secure/attachment/12726945/DESIGN-SAMZA-617-2.pdf";>design
 doc</a>.</p>
+
+<h2 id="configuring-yarn-cluster-to-support-host-affinity">Configuring YARN 
cluster to support Host Affinity</h2>
+
+<ol>
+<li>Enable local state re-use by setting the 
<code>LOGGED_STORE_BASE_DIR</code> environment variable in yarn-env.sh 
+<div class="highlight"><pre><code class="bash"><span class="nb">export 
</span><span class="nv">LOGGED<em>STORE</em>BASE_DIR</span><span 
class="o">=</span>&lt;path-for-state-stores&gt;</code></pre></div>
+Without this configuration, the state stores are not persisted upon a 
container shutdown. This will effectively mean you will not re-use local state 
and hence, host-affinity becomes a moot operation.</li>
+<li><p>Configure Yarn to use Fair Scheduler and enable continuous-scheduling 
in yarn-site.xml 
+<div class="highlight"><pre><code class="xml"><span 
class="nt">&lt;property&gt;</span>
+<span class="nt">&lt;name&gt;</span>yarn.resourcemanager.scheduler.class<span 
class="nt">&lt;/name&gt;</span>
+<span class="nt">&lt;description&gt;</span>The class to use as the resource 
scheduler.<span class="nt">&lt;/description&gt;</span>
+<span 
class="nt">&lt;value&gt;</span>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler<span
 class="nt">&lt;/value&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+<span class="nt">&lt;property&gt;</span>
+<span 
class="nt">&lt;name&gt;</span>yarn.scheduler.fair.continuous-scheduling-enabled<span
 class="nt">&lt;/name&gt;</span>
+<span class="nt">&lt;description&gt;</span>Enable Continuous Scheduling of 
Resource Requests<span class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;value&gt;</span>true<span class="nt">&lt;/value&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+<span class="nt">&lt;property&gt;</span>
+<span 
class="nt">&lt;name&gt;</span>yarn.schedular.fair.locality-delay-node-ms<span 
class="nt">&lt;/name&gt;</span>
+<span class="nt">&lt;description&gt;</span>Delay time in milliseconds before 
relaxing locality at node-level<span class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;value&gt;</span>1000<span 
class="nt">&lt;/value&gt;</span>  <span class="c">&lt;!-- Should be tuned per 
requirement --&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+<span class="nt">&lt;property&gt;</span>
+<span 
class="nt">&lt;name&gt;</span>yarn.schedular.fair.locality-delay-rack-ms<span 
class="nt">&lt;/name&gt;</span>
+<span class="nt">&lt;description&gt;</span>Delay time in milliseconds before 
relaxing locality at rack-level<span class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;value&gt;</span>1000*<span 
class="nt">&lt;/value&gt;</span> <span class="c">&lt;!-- Should be tuned per 
requirement --&gt;</span>
+<span class="nt">&lt;/property&gt;</span></code></pre></div></p></li>
+<li><p>Configure Yarn Node Manager SIGTERM to SIGKILL timeout to be reasonable 
time s.t. Node Manager will give Samza Container enough time to perform a clean 
shutdown in yarn-site.xml 
+<div class="highlight"><pre><code class="xml"><span 
class="nt">&lt;property&gt;</span>
+<span 
class="nt">&lt;name&gt;</span>yarn.nodemanager.sleep-delay-before-sigkill.ms<span
 class="nt">&lt;/name&gt;</span>
+<span class="nt">&lt;description&gt;</span>No. of ms to wait between sending a 
SIGTERM and SIGKILL to a container<span class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;value&gt;</span>600000<span 
class="nt">&lt;/value&gt;</span> <span class="c">&lt;!-- Set it to 10min to 
allow enough time for clean shutdown of containers --&gt;</span>
+<span class="nt">&lt;/property&gt;</span></code></pre></div></p></li>
+</ol>
+
+<h2 id="configuring-a-samza-job-to-use-host-affinity">Configuring a Samza job 
to use Host Affinity</h2>
+
+<p>Any stateful Samza job can leverage this feature to reduce the Mean Time To 
Restore (MTTR) of it&rsquo;s state stores by setting 
<code>yarn.samza.host-affinity</code> to true.</p>
+
+<div class="highlight"><pre><code class="bash">yarn.samza.host-affinity<span 
class="o">=</span><span class="nb">true</span>  <span class="c"># Default: 
false</span></code></pre></div>
+
+<p>Enabling this feature for a stateless Samza job should not have any adverse 
effect on the job.</p>
+
+<h2 id="host-affinity-guarantees">Host-affinity Guarantees</h2>
+
+<p>As you have observed, host-affinity cannot be guaranteed all the time due 
to varibale load distribution in the Yarn cluster. Hence, this is a best-effort 
policy that Samza provides. However, certain scenarios are worth calling out 
where these guarantees may be hard to achieve or are not applicable.</p>
+
+<ol>
+<li><em>When the number of containers and/or container-task assignment changes 
across successive application runs</em> - We may be able to re-use local state 
for a subset of partitions. Currently, there is no logic in the Job Coordinator 
to handle partitioning of tasks among containers intelligently. Handling this 
is more involved as relates to <a 
href="https://issues.apache.org/jira/browse/SAMZA-336";>auto-scaling</a> of the 
containers.</li>
+<li><em>When SystemStreamPartitionGrouper changes across successive 
application runs</em> - When the grouper logic used to distribute the 
partitions across containers changes, the data in the Coordinator Stream (for 
changelog-task partition assignment etc) and the data stores becomes invalid. 
Thus, to be safe, we should flush out all state-related data from the 
Coordinator Stream. An alternative is to overwrite the Task-ChangelogPartition 
assignment message and the Container Locality message in the Coordinator 
Stream, before starting up the job again.</li>
+</ol>
+
+
+          </div>
+        </div>
+
+      </div><!-- /.wrapper-content -->
+    </div><!-- /.wrapper -->
+
+    <div class="footer">
+      <div class="container">
+        <!-- nothing for now. -->
+      </div>
+    </div>
+
+  
+    <script>
+      $( document ).ready(function() {
+        if ( $.fn.urlExists( 
"/learn/documentation/latest/yarn/yarn-host-affinity.html" ) ) {
+          $("#switch-version-button").addClass("fa fa-history masthead-icon");
+        }
+      });
+
+      /* a function to test whether the url exists or not */
+      (function( $ ) {
+        $.fn.urlExists = function(url) {
+          var http = new XMLHttpRequest();
+          http.open('HEAD', url, false);
+          http.send();
+          return http.status != 404;
+        };
+      }( jQuery ));
+    </script>
+  
+
+    <!-- Google Analytics -->
+    <script>
+      
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
+      
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-43122768-1', 'apache.org');
+      ga('send', 'pageview');
+
+    </script>
+  </body>
+</html>


Reply via email to