Author: blrunner
Date: Wed Sep 24 02:51:24 2014
New Revision: 1627196

URL: http://svn.apache.org/r1627196
Log:
added HA configuration documentation

Added:
    tajo/site/docs/current/configuration/ha_configuration.html

Added: tajo/site/docs/current/configuration/ha_configuration.html
URL: 
http://svn.apache.org/viewvc/tajo/site/docs/current/configuration/ha_configuration.html?rev=1627196&view=auto
==============================================================================
--- tajo/site/docs/current/configuration/ha_configuration.html (added)
+++ tajo/site/docs/current/configuration/ha_configuration.html Wed Sep 24 
02:51:24 2014
@@ -0,0 +1,343 @@
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>High Availability for TajoMaster &mdash; Apache Tajo 0.8.0 
documentation</title>
+  
+
+  
+  
+
+  
+  <link 
href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700'
 rel='stylesheet' type='text/css'>
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  
+
+  
+    <link rel="top" title="Apache Tajo 0.8.0 documentation" 
href="../index.html"/>
+        <link rel="up" title="Configuration" href="../configuration.html"/>
+        <link rel="next" title="Tajo Shell (TSQL)" href="../cli.html"/>
+        <link rel="prev" title="Configuration Defaults" 
href="configuration_defaults.html"/> 
+
+  
+  <script 
src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js";></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-nav-search">
+        <a href="../index.html" class="fa fa-home"> Apache Tajo</a>
+        <div role="search">
+  <form id ="rtd-search-form" class="wy-form" action="../search.html" 
method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" 
aria-label="main navigation">
+        
+        
+            <ul class="current">
+<li class="toctree-l1"><a class="reference internal" 
href="../introduction.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../getting_started.html">Getting Started</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="../getting_started/prerequisites.html">Prerequisites</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../getting_started/downloading_source.html">Dowload and unpack the source 
code of Apache Tajo</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../getting_started/building.html">Build source code</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../getting_started/local_setup.html">Setting up a local Tajo 
cluster</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../getting_started/first_query.html">First query execution</a></li>
+</ul>
+</li>
+<li class="toctree-l1 current"><a class="reference internal" 
href="../configuration.html">Configuration</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" 
href="preliminary.html">Preliminary</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="cluster_setup.html">Cluster Setup</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="tajo_master_configuration.html">Tajo Master Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="worker_configuration.html">Worker Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="catalog_configuration.html">Catalog Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="configuration_defaults.html">Configuration Defaults</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" 
href="">High Availability for TajoMaster</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../cli.html">Tajo 
Shell (TSQL)</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="../cli.html#synopsis">Synopsis</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../cli.html#entering-tsql-shell">Entering tsql shell</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../cli.html#meta-commands">Meta Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="../sql_language.html">SQL Language</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="../sql_language/data_model.html">Data Model</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../sql_language/ddl.html">Data Definition Language</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../sql_language/insert.html">INSERT (OVERWRITE) INTO</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../sql_language/queries.html">Queries</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../sql_language/sql_expression.html">SQL Expressions</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../sql_language/predicates.html">Predicates</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="../functions.html">Functions</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="../functions/math_func_and_operators.html">Math Functions and 
Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../functions/string_func_and_operators.html">String Functions and 
Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../functions/datetime_func_and_operators.html">DateTime Functions and 
Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../functions/network_func_and_operators.html">Network Functions and 
Operators</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="../table_management.html">Table Management</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="../table_management/file_formats.html">File Formats</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../table_management/compression.html">Compression</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="../table_partitioning.html">Table Partitioning</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="../partitioning/intro_to_partitioning.html">Introduction to 
Partitioning</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../partitioning/column_partitioning.html">Column Partitioning</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../partitioning/range_partitioning.html">Range Partitioning</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../partitioning/hash_partitioning.html">Hash Partitioning</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="../backup_and_restore.html">Backup and Restore</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="../backup_and_restore/catalog.html">Backup and Restore Catalog</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="../hcatalog_integration.html">HCatalog Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../jdbc_driver.html">Tajo JDBC Driver</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="../jdbc_driver.html#how-to-get-jdbc-driver">How to get JDBC 
driver</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../jdbc_driver.html#setting-the-classpath">Setting the CLASSPATH</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../jdbc_driver.html#an-example-jdbc-client">An Example JDBC 
Client</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../jdbc_driver.html#faq">FAQ</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="../tajo_client_api.html">Tajo Client API</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../faq.html">FAQ</a></li>
+</ul>
+
+        
+      </div>
+      &nbsp;
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../index.html">Apache Tajo</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../configuration.html">Configuration</a> &raquo;</li>
+      
+    <li>High Availability for TajoMaster</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          <a href="../_sources/configuration/ha_configuration.txt" 
rel="nofollow"> View page source</a>
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main">
+            
+  <div class="section" id="high-availability-for-tajomaster">
+<h1>High Availability for TajoMaster<a class="headerlink" 
href="#high-availability-for-tajomaster" title="Permalink to this 
headline">¶</a></h1>
+<p>TajoMaster is a Single Point of Failure in a Tajo Cluster because 
TajoMaster is the central controlling entity for all components of the Tajo 
system. TajoMaster failure prevents clients from submitting new queries to the 
cluster, and results in the disruption of the ability to run insert overwrite 
queries because the TajoWorker can’t apply its statistical information to 
CatalogStore. Therefore, the high-availability (HA) of TajoMaster is essential 
for the high-availability of Tajo generally.</p>
+<p>Currently, TajoMaster HA provides the following elements:</p>
+<ul class="simple">
+<li>Automatic failover of TajoMaster: Even if the active TajoMaster stops, the 
standby TajoMaster will become the active node.</li>
+<li>Preservation of the ongoing query in the cluster: Even if the active 
TajoMaster stops, the ongoing query will still complete in the cluster.</li>
+</ul>
+<div class="section" id="terminology">
+<h2>Terminology<a class="headerlink" href="#terminology" title="Permalink to 
this headline">¶</a></h2>
+<ul class="simple">
+<li>Active master: TajoMaster that is actively serving the all operation from 
TajoClient and TajoWorker.</li>
+<li>Backup master: This TajoMaster waits becomes active when the Active dies 
or unhealthy. Users can setup multiple back TajoMaster, and this servers 
monitors the Active status to become active.</li>
+</ul>
+</div>
+<div class="section" id="configuration-file-settings">
+<h2>Configuration File Settings<a class="headerlink" 
href="#configuration-file-settings" title="Permalink to this 
headline">¶</a></h2>
+<p>If you want to use TajoMaster HA mode, specific your <tt class="docutils 
literal"><span class="pre">tajo.master.ha.enable</span></tt> as follows:</p>
+<div class="highlight-xml"><div class="highlight"><pre><span 
class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>tajo.master.ha.enable<span 
class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>true<span 
class="nt">&lt;/value&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+</pre></div>
+</div>
+<p>If you use HA mode, all back masters monitor the active master at 5 second 
intervals. If you update this period, specific your <tt class="docutils 
literal"><span class="pre">tajo.master.ha.monitor.interval</span></tt> as 
follows:</p>
+<div class="highlight-xml"><div class="highlight"><pre><span 
class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>tajo.master.ha.monitor.interval<span 
class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>monitor interval<span 
class="nt">&lt;/value&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="backup-master-settings">
+<h2>Backup Master Settings<a class="headerlink" href="#backup-master-settings" 
title="Permalink to this headline">¶</a></h2>
+<p>If you want to run masters with <tt class="docutils literal"><span 
class="pre">start-tajo.sh</span></tt>, specific your masters in <tt 
class="docutils literal"><span class="pre">conf/masters</span></tt>. The file 
lists all host names of masters, one per line.By default, this file contains 
the single entry <tt class="docutils literal"><span 
class="pre">localhost</span></tt>. You can easily add host names of workers via 
your favorite text editor.</p>
+<p>For example:</p>
+<div class="highlight-python"><pre>$ cat &gt; conf/masters
+host1.domain.com
+host2.domain.com
+....
+
+&lt;ctrl + d&gt;</pre>
+</div>
+<p>And then, you need to setup tarball and set configuration files on backup 
masters.</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p>If you want to run active master and backup master on the same host, you 
may find tajo master port conflicts. To avoid this problem, you must convert 
backup master primary ports to another port in <tt class="docutils 
literal"><span class="pre">tajo-site.xml</span></tt> as follows:</p>
+<div class="highlight-xml"><div class="highlight"><pre><span 
class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>tajo.master.umbilical-rpc.address<span 
class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>localhost:36001<span 
class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>The default port is 26001.<span 
class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+
+<span class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>tajo.master.client-rpc.address<span 
class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>localhost:36002<span 
class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>The default port is 26002.<span 
class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+
+<span class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>tajo.resource-tracker.rpc.address<span 
class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>localhost:36003<span 
class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>The default port is 26003.<span 
class="nt">&lt;/description&gt;</span>
+  <span class="nt">&lt;/property&gt;</span>
+
+<span class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>tajo.catalog.client-rpc.address<span 
class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>localhost:36005<span 
class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>The default port is 26005.<span 
class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+
+<span class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>tajo.master.info-http.address<span 
class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>0.0.0.0:36080<span 
class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>The default port is 26080.<span 
class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+</pre></div>
+</div>
+<p class="last">And you need to convert <tt class="docutils literal"><span 
class="pre">TAJO_PID_DIR</span></tt> to another directory in <tt 
class="docutils literal"><span class="pre">tajo-env.sh</span></tt>.</p>
+</div>
+</div>
+<div class="section" id="launch-a-tajo-cluster">
+<h2>Launch a Tajo cluster<a class="headerlink" href="#launch-a-tajo-cluster" 
title="Permalink to this headline">¶</a></h2>
+<p>Then, execute <tt class="docutils literal"><span 
class="pre">start-tajo.sh</span></tt></p>
+<div class="highlight-python"><pre>$ $TAJO_HOME/bin/start-tajo.sh</pre>
+</div>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">You can&#8217;t use HA mode in DerbyStore. Currently, just one 
tajo master invoke the derby. If another master try to invoke it, it never run 
itself. Also, if you set another catalog uri for backup master, it is a 
incorrect configuration. Because they are unequal in every way.</p>
+</div>
+</div>
+<div class="section" id="administration-ha-state">
+<h2>Administration HA state<a class="headerlink" 
href="#administration-ha-state" title="Permalink to this headline">¶</a></h2>
+<p>If you want to transit any backup master to active master, execute <tt 
class="docutils literal"><span class="pre">tajo</span> <span 
class="pre">hadmin</span> <span class="pre">-transitionToActive</span></tt></p>
+<div class="highlight-python"><pre>$ $TAJO_HOME/bin/tajo haadmin 
-transitionToActive &lt;target tajo.master.umbilical-rpc.address&gt;</pre>
+</div>
+<p>If you want to transit any active master to backup master, execute <tt 
class="docutils literal"><span class="pre">tajo</span> <span 
class="pre">hadmin</span> <span class="pre">-transitionToBackup</span></tt></p>
+<div class="highlight-python"><pre>$ $TAJO_HOME/bin/tajo haadmin 
-transitionToBackup &lt;target tajo.master.umbilical-rpc.address&gt;</pre>
+</div>
+<p>If you want to find the state of any master, execute <tt class="docutils 
literal"><span class="pre">tajo</span> <span class="pre">hadmin</span> <span 
class="pre">-getState</span></tt></p>
+<div class="highlight-python"><pre>$ $TAJO_HOME/bin/tajo haadmin -getState 
&lt;target tajo.master.umbilical-rpc.address&gt;</pre>
+</div>
+<p>If you want to initiate HA information, execute <tt class="docutils 
literal"><span class="pre">tajo</span> <span class="pre">haadmin</span> <span 
class="pre">-formatHA</span></tt></p>
+<div class="highlight-python"><pre>$ $TAJO_HOME/bin/tajo haadmin 
-formatHA</pre>
+</div>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">Before format HA, you must shutdown the tajo cluster.</p>
+</div>
+</div>
+</div>
+
+
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer 
navigation">
+      
+        <a href="../cli.html" class="btn btn-neutral float-right" title="Tajo 
Shell (TSQL)"/>Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="configuration_defaults.html" class="btn btn-neutral" 
title="Configuration Defaults"><span class="fa fa-arrow-circle-left"></span> 
Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Apache Tajo Team.
+    </p>
+  </div>
+
+  <a href="https://github.com/snide/sphinx_rtd_theme";>Sphinx theme</a> 
provided by <a href="https://readthedocs.org";>Read the Docs</a>
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../',
+            VERSION:'0.8.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../_static/jquery.js"></script>
+      <script type="text/javascript" src="../_static/underscore.js"></script>
+      <script type="text/javascript" src="../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file


Reply via email to