blob: a6c145076566f461f09a870e1798bad320017c51 [file] [log] [blame]
<!DOCTYPE html>
<!--[if lt IE 7]>
<html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>
<html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>
<html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"/>
<title>Deploy Standalone Mode - Gearpump 0.8.1 Documentation</title>
<meta name="description"
content="Deploy Gearpump in Standalone Mode">
<link rel="stylesheet" href="css/bootstrap-3.3.5.min.css">
<style>
body {
padding-top: 60px;
padding-bottom: 40px;
}
</style>
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/pygments-default.css">
<script src="js/vendor/modernizr-2.6.1-respond-1.1.0.min.js"></script>
</head>
<body>
<!--[if lt IE 7]>
<p class="chromeframe">You are using an outdated browser. <a href="http://browsehappy.com/">Upgrade
your browser today</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install
Google Chrome Frame</a> to better experience this site.</p>
<![endif]-->
<div class="navbar navbar-inverse navbar-fixed-top" id="topbar">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="http://gearpump.apache.org">Gearpump
<span class="label label-primary" style="font-size: .6em">0.8.1</span>
</a>
</div>
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Overview</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Introduction<b
class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="submit-your-1st-application.html">Submit Your 1st Application</a></li>
<li><a href="commandline.html">Client Command Line</a></li>
<li class="divider"></li>
<li><a href="basic-concepts.html">Basic Concepts</a></li>
<li><a href="features.html">Technical Highlights</a></li>
<li><a href="message-delivery.html">Reliable Message Delivery</a></li>
<li><a href="performance-report.html">Performance</a></li>
<li><a href="gearpump-internals.html">Gearpump Internals</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Deploying<b class="caret"></b></a>
<ul class="dropdown-menu">
<li class="dropdown-header">Deployment</li>
<li><a href="deployment-local.html">Local Mode</a>
<li>
<li><a href="deployment-standalone.html">Standalone Mode</a></li>
<li><a href="deployment-yarn.html">YARN Mode</a></li>
<li><a href="deployment-docker.html">Docker Mode</a>
<li>
<li class="divider"></li>
<li><a href="deployment-ui-authentication.html">UI Authentication</a></li>
<li><a href="deployment-ha.html">High Availability</a></li>
<li><a href="deployment-msg-delivery.html">Reliable Message Delivery</a></li>
<li><a href="deployment-configuration.html">Configuration</a></li>
<li><a href="deployment-resource-isolation.html">Resource Isolation</a></li>
<li class="divider"></li>
<li><a href="deployment-security.html">YARN Security Guide</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Programming Guide<b
class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="dev-write-1st-app.html">Write Your 1st App</a></li>
<li><a href="dev-custom-serializer.html">Customized Message Passing</a></li>
<li class="divider"></li>
<li><a href="api/scala/index.html">Scala API</a></li>
<li><a href="api/java/index.html">Java API</a></li>
<li><a href="dev-rest-api.html">RESTful API</a></li>
<li class="divider"></li>
<li><a href="dev-connectors.html">Gearpump Connectors</a></li>
<li class="divider"></li>
<li><a href="dev-storm.html">Storm Compatibility</a></li>
<!--
<li><a href="dev-samoa.html">Samoa Compatibility</a></li>
<li class="divider"></li>
<li><a href="dev-iot.html">Gearpump with IoT</a></li>
-->
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">More<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="faq.html">FAQ</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<div class="container" id="content">
<h1 class="title">Deploy Gearpump in Standalone Mode</h1>
<p>Standalone mode is a distributed cluster mode. That is, Gearpump runs as service without the help from other services (e.g. YARN).</p>
<p>To deploy Gearpump in cluster mode, please first check that the <a href="hardware-requirement.html">Pre-requisites</a> are met.</p>
<h3 id="how-to-install">How to Install</h3>
<p>You need to have Gearpump binary at hand. Please refer to <a href="get-gearpump-distribution.html">How to get gearpump distribution</a> to get the Gearpump binary.</p>
<p>You are suggested to unzip the package to same directory path on every machine you planned to install Gearpump.
To install Gearpump, you at least need to change the configuration in <code>conf/gear.conf</code>.</p>
<table>
<thead>
<tr>
<th>Config</th>
<th>Default value</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>gearpump.hostname</td>
<td>&#8220;127.0.0.1&#8221;</td>
<td>Host or IP address of current machine. The ip/host need to be reachable from other machines in the cluster.</td>
</tr>
<tr>
<td>gearpump.cluster.masters</td>
<td>[&#8220;127.0.0.1:3000&#8221;]</td>
<td>List of all master nodes, with each item represents host and port of one master.</td>
</tr>
<tr>
<td>gearpump.worker.slots</td>
<td>1000</td>
<td>how many slots this worker has</td>
</tr>
</tbody>
</table>
<p>Besides this, there are other optional configurations related with logs, metrics, transports, ui. You can refer to <a href="deployment-configuration.html">Configuration Guide</a> for more details.</p>
<h3 id="start-the-cluster-daemons-in-standlone-mode">Start the Cluster Daemons in Standlone mode</h3>
<p>In Standalone mode, you can start master and worker in different JVMs.</p>
<h5 id="to-start-master">To start master:</h5>
<div class="highlight"><pre><code class="language-bash">bin/master -ip xx -port xx</code></pre></div>
<p>The ip and port will be checked against settings under <code>conf/gear.conf</code>, so you need to make sure they are consistent.</p>
<p><strong>NOTE:</strong> You may need to execute <code>chmod +x bin/*</code> in shell to make the script file <code>master</code> executable.</p>
<p><strong>NOTE</strong>: for high availability, please check <a href="deployment-ha.html">Master HA Guide</a></p>
<h5 id="to-start-worker">To start worker:</h5>
<div class="highlight"><pre><code class="language-bash">bin/worker</code></pre></div>
<h3 id="start-ui">Start UI</h3>
<div class="highlight"><pre><code class="language-bash">bin/services</code></pre></div>
<p>After UI is started, you can browse to <code>http://{web_ui_host}:8090</code> to view the cluster status.
The default username and password is &#8220;admin:admin&#8221;, you can check
<a href="deployment-ui-authentication.html">UI Authentication</a> to find how to manage users.</p>
<p><img src="img/dashboard.gif" alt="Dashboard" /></p>
<p><strong>NOTE:</strong> The UI port can be configured in <code>gear.conf</code>. Check <a href="deployment-configuration.html">Configuration Guide</a> for information.</p>
<h3 id="bash-tool-to-start-cluster">Bash tool to start cluster</h3>
<p>There is a bash tool <code>bin/start-cluster.sh</code> can launch the cluster conveniently. You need to change the file <code>conf/masters</code>, <code>conf/workers</code> and <code>conf/dashboard</code> to specify the corresponding machines.
Before running the bash tool, please make sure the Gearpump package is already unzipped to the same directory path on every machine.
<code>bin/stop-cluster.sh</code> is used to stop the whole cluster of course.</p>
<p>The bash tool is able to launch the cluster without changing the <code>conf/gear.conf</code> on every machine. The bash sets the <code>gearpump.cluster.masters</code> and other configurations using JAVA_OPTS.
However, please note when you log into any these unconfigured machine and try to launch the dashboard or submit the application, you still need to modify <code>conf/gear.conf</code> manually because the JAVA_OPTS is missing.</p>
</div>
<!-- /container -->
<script src="js/vendor/jquery-2.1.4.min.js"></script>
<script src="js/vendor/bootstrap-3.3.5.min.js"></script>
<script src="js/vendor/anchor-1.1.1.min.js"></script>
<script src="js/main.js"></script>
<!-- MathJax Section -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
TeX: { equationNumbers: { autoNumber: "AMS" } }
});
</script>
<script>
// Note that we load MathJax this way to work with local file (file://), HTTP and HTTPS.
// We could use "//cdn.mathjax...", but that won't support "file://".
(function (d, script) {
script = d.createElement('script');
script.type = 'text/javascript';
script.async = true;
script.onload = function () {
MathJax.Hub.Config({
tex2jax: {
inlineMath: [["$", "$"], ["\\\\(", "\\\\)"]],
displayMath: [["$$", "$$"], ["\\[", "\\]"]],
processEscapes: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
}
});
};
script.src = ('https:' == document.location.protocol ? 'https://' : 'http://') +
'cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML';
d.getElementsByTagName('head')[0].appendChild(script);
}(document));
</script>
</body>
</html>