<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.8.1 from src/site/markdown/ncservice.md at 2019-03-07
 | Rendered using Apache Maven Fluido Skin 1.7
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20190307" />
    <meta http-equiv="Content-Language" content="en" />
    <title>AsterixDB &#x2013; Table of Contents</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
    <script type="text/javascript" src="./js/apache-maven-fluido-1.7.min.js"></script>

  </head>
  <body class="topBarDisabled">
    <div class="container-fluid">
      <div id="banner">
        <div class="pull-left"><a href="./" id="bannerLeft"><img src="images/asterixlogo.png"  alt="AsterixDB"/></a></div>
        <div class="pull-right"></div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2019-03-07</li>
      <li id="projectVersion" class="pull-right">Version: 0.9.4.1</li>
      <li class="pull-right"><a href="index.html" title="Documentation Home">Documentation Home</a></li>
        </ul>
      </div>
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
    <ul class="nav nav-list">
      <li class="nav-header">Get Started - Installation</li>
    <li class="active"><a href="#"><span class="none"></span>Option 1: using NCService</a></li>
    <li><a href="ansible.html" title="Option 2: using Ansible"><span class="none"></span>Option 2: using Ansible</a></li>
    <li><a href="aws.html" title="Option 3: using Amazon Web Services"><span class="none"></span>Option 3: using Amazon Web Services</a></li>
      <li class="nav-header">AsterixDB Primer</li>
    <li><a href="sqlpp/primer-sqlpp.html" title="Option 1: using SQL++"><span class="none"></span>Option 1: using SQL++</a></li>
    <li><a href="aql/primer.html" title="Option 2: using AQL"><span class="none"></span>Option 2: using AQL</a></li>
      <li class="nav-header">Data Model</li>
    <li><a href="datamodel.html" title="The Asterix Data Model"><span class="none"></span>The Asterix Data Model</a></li>
      <li class="nav-header">Queries - SQL++</li>
    <li><a href="sqlpp/manual.html" title="The SQL++ Query Language"><span class="none"></span>The SQL++ Query Language</a></li>
    <li><a href="sqlpp/builtins.html" title="Builtin Functions"><span class="none"></span>Builtin Functions</a></li>
      <li class="nav-header">Queries - AQL</li>
    <li><a href="aql/manual.html" title="The Asterix Query Language (AQL)"><span class="none"></span>The Asterix Query Language (AQL)</a></li>
    <li><a href="aql/builtins.html" title="Builtin Functions"><span class="none"></span>Builtin Functions</a></li>
      <li class="nav-header">API/SDK</li>
    <li><a href="api.html" title="HTTP API"><span class="none"></span>HTTP API</a></li>
    <li><a href="csv.html" title="CSV Output"><span class="none"></span>CSV Output</a></li>
      <li class="nav-header">Advanced Features</li>
    <li><a href="aql/fulltext.html" title="Support of Full-text Queries"><span class="none"></span>Support of Full-text Queries</a></li>
    <li><a href="aql/externaldata.html" title="Accessing External Data"><span class="none"></span>Accessing External Data</a></li>
    <li><a href="feeds/tutorial.html" title="Support for Data Ingestion"><span class="none"></span>Support for Data Ingestion</a></li>
    <li><a href="udf.html" title="User Defined Functions"><span class="none"></span>User Defined Functions</a></li>
    <li><a href="aql/filters.html" title="Filter-Based LSM Index Acceleration"><span class="none"></span>Filter-Based LSM Index Acceleration</a></li>
    <li><a href="aql/similarity.html" title="Support of Similarity Queries"><span class="none"></span>Support of Similarity Queries</a></li>
</ul>
          <hr />
          <div id="poweredBy">
            <div class="clear"></div>
            <div class="clear"></div>
            <div class="clear"></div>
            <div class="clear"></div>
<a href="./" title="AsterixDB" class="builtBy"><img class="builtBy"  alt="AsterixDB" src="images/asterixlogo.png"    /></a>
            </div>
          </div>
        </div>
        <div id="bodyColumn"  class="span10" >
<!--
 ! 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.
 !-->
<div class="section">
<h2><a name="Table_of_Contents"></a><a name="toc" id="toc">Table of Contents</a></h2>
<ul>

<li><a href="#quickstart">Quick Start</a></li>
<li><a href="#Small_cluster">Starting a small single-machine cluster using the NCService</a></li>
<li><a href="#Multi_machine">Deploying AsterixDB via NCService in a multi-machine setup</a></li>
<li><a href="#Parameters">Available Configuration Parameters</a></li>
</ul>
<h1><a name="quickstart" id="quickstart">Quick Start</a></h1>
<p>The fastest way to get set up with a single-machine sample instance of AsterixDB is to use the included sample helper scripts. To do so, in the extracted <tt>asterix-server</tt> directory, navigate to <tt>opt/local/bin/</tt></p>

<div>
<div>
<pre class="source">user@localhost:~/
$cd asterix-server/
user@localhost:~/asterix-server
$cd opt/local/bin
</pre></div></div>

<p>This folder should contain 4 scripts, two pairs of <tt>.sh</tt> and <tt>.bat</tt> files respectively. <tt>start-sample-cluster.sh</tt> will simply start a basic sample cluster using the configuration files located in <tt>opt/local/conf/</tt>.</p>

<div>
<div>
<pre class="source">user@localhost:~/a/o/l/bin
$./start-sample-cluster.sh
CLUSTERDIR=/home/user/asterix-server/opt/local
INSTALLDIR=/home/user/asterix-server
LOGSDIR=/home/user/asterix-server/samples/opt/logs

INFO: Starting sample cluster...
INFO: Waiting up to 30 seconds for cluster 127.0.0.1:19002 to be available.
INFO: Cluster started and is ACTIVE.
user@localhost:~/a/o/l/bin
$
</pre></div></div>

<p>Now, there should be a running AsterixDB cluster on the machine. To go to the Web Interface, visit <a class="externalLink" href="http://localhost:19001">http://localhost:19001</a></p>

<div class="source">

<div class="source"><pre class="prettyprint linenums">
<img src="images/asterixdb_interface.png" alt="The AsterixDB Web Interface" />
<i>Fig. 1</i>: The AsterixDB Web Interface
</pre></div>
</div>

<h1><a name="Small_cluster" id="Small_cluster">Starting a small single-machine cluster using NCService</a></h1>
<p>The above cluster was started using a script, but below is a description in detail of how precisely this was achieved. The config files here are analagous to the ones within <tt>samples/local/conf</tt>.</p>
<p>When running a cluster using the <tt>NCService</tt> there are 3 different kinds of processes involved:</p>
<ul>

<li><tt>NCDriver</tt>, also known as the Node Controller or NC for short. This is the process that does the actual work of queries and data management within the AsterixDB cluster</li>
<li><tt>NCService</tt> configures and starts the <tt>NCDriver</tt> process. It is a simple daemon whose only purpose is to wait for the <tt>CCDriver</tt> process to call upon it to initiate cluster bootup.</li>
<li><tt>CCDriver</tt>, which is the Cluster Controller process, also known as the CC. This process manages the distribution of tasks to all NCs, as well as providing the parameters of each NC to the NCService upon cluster startup. It also hosts the Web interface and query compiler and optimizer.</li>
</ul>
<p>The cluster startup follows a particular sequence, which is as follows:</p>
<ol style="list-style-type: decimal">

<li>Each host on which an NC is desired and is mentioned in the configuration, the <tt>NCService</tt> daemon is started first. It will listen and wait for the CC to contact it.</li>
<li>The one host on which the CC is to be placed is started with an appropriate configuration file.</li>
<li>The CC contacts all <tt>NCService</tt> daemons and the <tt>NCService</tt> subsequently starts and <tt>NCDriver</tt> process with the configration supplied by the <tt>CC</tt></li>
<li>Each <tt>NCDriver</tt> then contacts the CC to register itself as started</li>
</ol>
<p>This process is briefly illustrated in the diagram below:</p>

<div class="source">

<div class="source"><pre class="prettyprint linenums">
<img src="images/ncservice.png" alt="The AsterixDB Web Interface" />
<i>Fig. 2</i>: NCService startup sequence
</pre></div>
</div>

<p>To start a small cluster consisting of 2 NodeControllers (<tt>red</tt> and <tt>blue</tt>) and 1 ClusterController (<tt>cc</tt>) on a single machine only 2 configuration files are required. The first one is</p>
<p><tt>blue.conf</tt>:</p>

<div>
<div>
<pre class="source">[ncservice]
port=9091
</pre></div></div>

<p>It is a configuration file for the second <tt>NCService</tt>. This contains only the port that the <tt>NCService</tt> of the second NodeControllers listens to as it is non-standard. The first <tt>NCService</tt> does not need a configuration file, as it only uses default parameters. In a distributed environment with 1 NodeController per machine, no <tt>NCService</tt> needs a configuration file.</p>
<p>The second configuration file is</p>
<p><tt>cc.conf</tt>:</p>

<div>
<div>
<pre class="source">[nc/red]
txn.log.dir=/tmp/asterix/red/txnlog
core.dump.dir=/tmp/asterix/red/coredump
iodevices=/tmp/asterix/red

[nc/blue]
port=9091
txn.log.dir=/tmp/asterix/blue/txnlog
core.dump.dir=/tmp/asterix/blue/coredump
iodevices=/tmp/asterix/blue

[nc]
app.class=org.apache.asterix.hyracks.bootstrap.NCApplicationEntryPoint
address=127.0.0.1
command=asterixnc

[cc]
address = 127.0.0.1
console.listen.port = 12345
</pre></div></div>

<p>This is the configuration file for the cluster and it contains information that each <tt>NCService</tt> will use when starting the corresponding <tt>NCDriver</tt> as well as information for the <tt>CCDriver</tt>.</p>
<p>To start the cluster simply use the following steps</p>
<ol style="list-style-type: decimal">

<li>

<p>Change directory into the asterix-server binary folder</p>

<div>
<div>
<pre class="source">user@localhost:~/
$cd asterix-server/
user@localhost:~/asterix-server
$cd samples/local/bin
</pre></div></div>
</li>
<li>

<p>Start the 2 <tt>NCServices</tt> for <tt>red</tt> and <tt>blue</tt>.</p>

<div>
<div>
<pre class="source">user@localhost:~/asterix-server
$bin/asterixncservice -config-file blue.conf &gt; blue-service.log 2&gt;&amp;1 &amp;
user@localhost:~/asterix-server
$bin/asterixncservice &gt;red-service.log 2&gt;&amp;1 &amp;
</pre></div></div>
</li>
<li>

<p>Start the <tt>CCDriver</tt>.</p>

<div>
<div>
<pre class="source">user@localhost:~/asterix-server
$bin/asterixcc -config-file cc.conf &gt; cc.log 2&gt;&amp;1 &amp;
</pre></div></div>
</li>
</ol>
<p>The <tt>CCDriver</tt> will connect to the <tt>NCServices</tt> and thus initiate the configuration and the start of the <tt>NCDrivers</tt>. After running these scripts, <tt>jps</tt> should show a result similar to this:</p>

<div>
<div>
<pre class="source">user@localhost:~/asterix-server
$jps
13184 NCService
13200 NCDriver
13185 NCService
13186 CCDriver
13533 Jps
13198 NCDriver
</pre></div></div>

<p>The logs for the <tt>NCDrivers</tt> will be in <tt>$BASEDIR/logs</tt>.</p>
<p>To stop the cluster again simply run</p>

<div>
<div>
<pre class="source">$ kill `jps | egrep '(CDriver|NCService)' | awk '{print $1}'`
</pre></div></div>

<p>to kill all processes.</p>
<h1><a name="Multi_machine" id="Multi_machine">Deploying AsterixDB via NCService in a multi-machine setup</a></h1>
<p>Deploying on multiple machines only differs in the configuration file and where each process is actually resident. Take for example a deployment on 3 machines, <tt>cacofonix-1</tt>,<tt>cacofonix-2</tt>,and <tt>cacofonix-3</tt>. <tt>cacofonix-1</tt> will be the CC, and <tt>cacofonix-2</tt> and <tt>cacofonix-3</tt> will be the two NCs, respectively. The configuration would be as follows:</p>
<p><tt>cc.conf</tt>:</p>

<div>
<div>
<pre class="source">[nc/red]
txn.log.dir=/lv_scratch/asterix/red/txnlog
core.dump.dir=/lv_scratch/asterix/red/coredump
iodevices=/lv_scratch/asterix/red
address=cacofonix-2

[nc/blue]
txn.log.dir=/lv_scratch/asterix/blue/txnlog
core.dump.dir=/lv_scratch/asterix/blue/coredump
iodevices=/lv_scratch/asterix/blue
address=cacofonix-3

[nc]
app.class=org.apache.asterix.hyracks.bootstrap.NCApplicationEntryPoint
storagedir=storage
command=asterixnc

[cc]
address = cacofonix-1
</pre></div></div>

<p>To deploy, first the <tt>asterix-server</tt> binary must be present on each machine. Any method to transfer the archive to each machine will work, but here <tt>scp</tt> will be used for simplicity&#x2019;s sake.</p>

<div>
<div>
<pre class="source">user@localhost:~
$for f in {1,2,3}; scp asterix-server.zip cacofonix-$f:~/; end
</pre></div></div>

<p>Then unzip the binary on each machine. First, start the <tt>NCService</tt> processes on each of the slave machines. Any way of getting a shell on the machine is fine, be it physical or via <tt>ssh</tt>.</p>

<div>
<div>
<pre class="source">user@cacofonix-2 12:41:42 ~/asterix-server/
$ bin/asterixncservice &gt; red-service.log 2&gt;&amp;1 &amp;


user@cacofonix-3 12:41:42 ~/asterix-server/
$ bin/asterixncservice &gt; blue-service.log 2&gt;&amp;1 &amp;
</pre></div></div>

<p>Now that each <tt>NCService</tt> is waiting, the CC can be started.</p>

<div>
<div>
<pre class="source">user@cacofonix-1 12:41:42 ~/asterix-server/
$ bin/asterixcc -config-file cc.conf &gt; cc.log 2&gt;&amp;1 &amp;
</pre></div></div>

<p>The cluster should now be started and the Web UI available on the CC host at the default port.</p>
<h1><a name="Parameters" id="Parameters">Available Configuration Parameters</a></h1>
<p>The following parameters are for the master process, under the &#x201c;[cc]&#x201d; section.</p>
<table border="0" class="table table-striped">
<thead>

<tr class="a">
<th> Section </th>
<th> Parameter                                 </th>
<th> Meaning </th>
<th> Default </th></tr>
</thead><tbody>

<tr class="b">
<td>   cc    </td>
<td> active.port                               </td>
<td> The listen port of the active server </td>
<td> 19003 </td></tr>
<tr class="a">
<td>   cc    </td>
<td> address                                   </td>
<td> Default bind address for all services on this cluster controller </td>
<td> 127.0.0.1 </td></tr>
<tr class="b">
<td>   cc    </td>
<td> api.port                                  </td>
<td> The listen port of the API server </td>
<td> 19002 </td></tr>
<tr class="a">
<td>   cc    </td>
<td> app.class                                 </td>
<td> Application CC main class </td>
<td> org.apache.asterix.hyracks.bootstrap.CCApplication </td></tr>
<tr class="b">
<td>   cc    </td>
<td> client.listen.address                     </td>
<td> Sets the IP Address to listen for connections from clients </td>
<td> same as address </td></tr>
<tr class="a">
<td>   cc    </td>
<td> client.listen.port                        </td>
<td> Sets the port to listen for connections from clients </td>
<td> 1098 </td></tr>
<tr class="b">
<td>   cc    </td>
<td> cluster.listen.address                    </td>
<td> Sets the IP Address to listen for connections from NCs </td>
<td> same as address </td></tr>
<tr class="a">
<td>   cc    </td>
<td> cluster.listen.port                       </td>
<td> Sets the port to listen for connections from node controllers </td>
<td> 1099 </td></tr>
<tr class="b">
<td>   cc    </td>
<td> cluster.public.address                    </td>
<td> Address that NCs should use to contact this CC </td>
<td> same as cluster.listen.address </td></tr>
<tr class="a">
<td>   cc    </td>
<td> cluster.public.port                       </td>
<td> Port that NCs should use to contact this CC </td>
<td> same as cluster.listen.port </td></tr>
<tr class="b">
<td>   cc    </td>
<td> cluster.topology                          </td>
<td> Sets the XML file that defines the cluster topology </td>
<td> &lt;undefined&gt; </td></tr>
<tr class="a">
<td>   cc    </td>
<td> console.listen.address                    </td>
<td> Sets the listen address for the Cluster Controller </td>
<td> same as address </td></tr>
<tr class="b">
<td>   cc    </td>
<td> console.listen.port                       </td>
<td> Sets the http port for the Cluster Controller) </td>
<td> 16001 </td></tr>
<tr class="a">
<td>   cc    </td>
<td> cores.multiplier                          </td>
<td> The factor to multiply by the number of cores to determine maximum query concurrent execution level </td>
<td> 3 </td></tr>
<tr class="b">
<td>   cc    </td>
<td> heartbeat.max.misses                      </td>
<td> Sets the maximum number of missed heartbeats before a node is marked as dead </td>
<td> 5 </td></tr>
<tr class="a">
<td>   cc    </td>
<td> heartbeat.period                          </td>
<td> Sets the time duration between two heartbeats from each node controller in milliseconds </td>
<td> 10000 </td></tr>
<tr class="b">
<td>   cc    </td>
<td> job.history.size                          </td>
<td> Limits the number of historical jobs remembered by the system to the specified value </td>
<td> 10 </td></tr>
<tr class="a">
<td>   cc    </td>
<td> job.manager.class                         </td>
<td> Specify the implementation class name for the job manager </td>
<td> org.apache.hyracks.control.cc.job.JobManager </td></tr>
<tr class="b">
<td>   cc    </td>
<td> job.queue.capacity                        </td>
<td> The maximum number of jobs to queue before rejecting new jobs </td>
<td> 4096 </td></tr>
<tr class="a">
<td>   cc    </td>
<td> job.queue.class                           </td>
<td> Specify the implementation class name for the job queue </td>
<td> org.apache.hyracks.control.cc.scheduler.FIFOJobQueue </td></tr>
<tr class="b">
<td>   cc    </td>
<td> profile.dump.period                       </td>
<td> Sets the time duration between two profile dumps from each node controller in milliseconds; 0 to disable </td>
<td> 0 </td></tr>
<tr class="a">
<td>   cc    </td>
<td> result.sweep.threshold                    </td>
<td> The duration within which an instance of the result cleanup should be invoked in milliseconds </td>
<td> 60000 </td></tr>
<tr class="b">
<td>   cc    </td>
<td> result.ttl                                </td>
<td> Limits the amount of time results for asynchronous jobs should be retained by the system in milliseconds </td>
<td> 86400000 </td></tr>
<tr class="a">
<td>   cc    </td>
<td> root.dir                                  </td>
<td> Sets the root folder used for file operations </td>
<td> ${java.io.tmpdir}/asterixdb/ClusterControllerService </td></tr>
<tr class="b">
<td>   cc    </td>
<td> web.port                                  </td>
<td> The listen port of the legacy query interface </td>
<td> 19001 </td></tr>
<tr class="a">
<td>   cc    </td>
<td> web.queryinterface.port                   </td>
<td> The listen port of the query web interface </td>
<td> 19006 </td></tr>
</tbody>
</table>
<p>The following parameters for slave processes, under &#x201c;[nc]&#x201d; sections.</p>
<table border="0" class="table table-striped">
<thead>

<tr class="a">
<th> Section </th>
<th> Parameter                                 </th>
<th> Meaning </th>
<th> Default </th></tr>
</thead><tbody>

<tr class="b">
<td>   nc    </td>
<td> address                                   </td>
<td> Default IP Address to bind listeners on this NC.  All services will bind on this address unless a service-specific listen address is supplied. </td>
<td> 127.0.0.1 </td></tr>
<tr class="a">
<td>   nc    </td>
<td> app.class                                 </td>
<td> Application NC Main Class </td>
<td> org.apache.asterix.hyracks.bootstrap.NCApplication </td></tr>
<tr class="b">
<td>   nc    </td>
<td> cluster.address                           </td>
<td> Cluster Controller address (required unless specified in config file) </td>
<td> &lt;undefined&gt; </td></tr>
<tr class="a">
<td>   nc    </td>
<td> cluster.connect.retries                   </td>
<td> Number of attempts to contact CC before giving up </td>
<td> 5 </td></tr>
<tr class="b">
<td>   nc    </td>
<td> cluster.listen.address                    </td>
<td> IP Address to bind cluster listener on this NC </td>
<td> same as address </td></tr>
<tr class="a">
<td>   nc    </td>
<td> cluster.listen.port                       </td>
<td> IP port to bind cluster listener </td>
<td> 0 </td></tr>
<tr class="b">
<td>   nc    </td>
<td> cluster.port                              </td>
<td> Cluster Controller port </td>
<td> 1099 </td></tr>
<tr class="a">
<td>   nc    </td>
<td> cluster.public.address                    </td>
<td> Public IP Address to announce cluster listener </td>
<td> same as public.address </td></tr>
<tr class="b">
<td>   nc    </td>
<td> cluster.public.port                       </td>
<td> Public IP port to announce cluster listener </td>
<td> same as cluster.listen.port </td></tr>
<tr class="a">
<td>   nc    </td>
<td> command                                   </td>
<td> Command NCService should invoke to start the NCDriver </td>
<td> hyracksnc </td></tr>
<tr class="b">
<td>   nc    </td>
<td> core.dump.dir                             </td>
<td> The directory where node core dumps should be written </td>
<td> ${java.io.tmpdir}/asterixdb/coredump </td></tr>
<tr class="a">
<td>   nc    </td>
<td> data.listen.address                       </td>
<td> IP Address to bind data listener </td>
<td> same as address </td></tr>
<tr class="b">
<td>   nc    </td>
<td> data.listen.port                          </td>
<td> IP port to bind data listener </td>
<td> 0 </td></tr>
<tr class="a">
<td>   nc    </td>
<td> data.public.address                       </td>
<td> Public IP Address to announce data listener </td>
<td> same as public.address </td></tr>
<tr class="b">
<td>   nc    </td>
<td> data.public.port                          </td>
<td> Public IP port to announce data listener </td>
<td> same as data.listen.port </td></tr>
<tr class="a">
<td>   nc    </td>
<td> iodevices                                 </td>
<td> Comma separated list of IO Device mount points </td>
<td> ${java.io.tmpdir}/asterixdb/iodevice </td></tr>
<tr class="b">
<td>   nc    </td>
<td> jvm.args                                  </td>
<td> JVM args to pass to the NCDriver </td>
<td> &lt;undefined&gt; </td></tr>
<tr class="a">
<td>   nc    </td>
<td> messaging.listen.address                  </td>
<td> IP Address to bind messaging listener </td>
<td> same as address </td></tr>
<tr class="b">
<td>   nc    </td>
<td> messaging.listen.port                     </td>
<td> IP port to bind messaging listener </td>
<td> 0 </td></tr>
<tr class="a">
<td>   nc    </td>
<td> messaging.public.address                  </td>
<td> Public IP Address to announce messaging listener </td>
<td> same as public.address </td></tr>
<tr class="b">
<td>   nc    </td>
<td> messaging.public.port                     </td>
<td> Public IP port to announce messaging listener </td>
<td> same as messaging.listen.port </td></tr>
<tr class="a">
<td>   nc    </td>
<td> ncservice.address                         </td>
<td> Address the CC should use to contact the NCService associated with this NC </td>
<td> same as public.address </td></tr>
<tr class="b">
<td>   nc    </td>
<td> ncservice.pid                             </td>
<td> PID of the NCService which launched this NCDriver </td>
<td> -1 </td></tr>
<tr class="a">
<td>   nc    </td>
<td> ncservice.port                            </td>
<td> Port the CC should use to contact the NCService associated with this NC </td>
<td> 9090 </td></tr>
<tr class="b">
<td>   nc    </td>
<td> net.buffer.count                          </td>
<td> Number of network buffers per input/output channel </td>
<td> 1 </td></tr>
<tr class="a">
<td>   nc    </td>
<td> net.thread.count                          </td>
<td> Number of threads to use for Network I/O </td>
<td> 1 </td></tr>
<tr class="b">
<td>   nc    </td>
<td> public.address                            </td>
<td> Default public address that other processes should use to contact this NC.  All services will advertise this address unless a service-specific public address is supplied. </td>
<td> same as address </td></tr>
<tr class="a">
<td>   nc    </td>
<td> result.listen.address                     </td>
<td> IP Address to bind dataset result distribution listener </td>
<td> same as address </td></tr>
<tr class="b">
<td>   nc    </td>
<td> result.listen.port                        </td>
<td> IP port to bind dataset result distribution listener </td>
<td> 0 </td></tr>
<tr class="a">
<td>   nc    </td>
<td> result.manager.memory                     </td>
<td> Memory usable for result caching at this Node Controller in bytes </td>
<td> -1 (-1 B) </td></tr>
<tr class="b">
<td>   nc    </td>
<td> result.public.address                     </td>
<td> Public IP Address to announce dataset result distribution listener </td>
<td> same as public.address </td></tr>
<tr class="a">
<td>   nc    </td>
<td> result.public.port                        </td>
<td> Public IP port to announce dataset result distribution listener </td>
<td> same as result.listen.port </td></tr>
<tr class="b">
<td>   nc    </td>
<td> result.sweep.threshold                    </td>
<td> The duration within which an instance of the result cleanup should be invoked in milliseconds </td>
<td> 60000 </td></tr>
<tr class="a">
<td>   nc    </td>
<td> result.ttl                                </td>
<td> Limits the amount of time results for asynchronous jobs should be retained by the system in milliseconds </td>
<td> 86400000 </td></tr>
<tr class="b">
<td>   nc    </td>
<td> storage.buffercache.maxopenfiles          </td>
<td> The maximum number of open files in the buffer cache </td>
<td> 2147483647 </td></tr>
<tr class="a">
<td>   nc    </td>
<td> storage.buffercache.pagesize              </td>
<td> The page size in bytes for pages in the buffer cache </td>
<td> 131072 (128 kB) </td></tr>
<tr class="b">
<td>   nc    </td>
<td> storage.buffercache.size                  </td>
<td> The size of memory allocated to the disk buffer cache.  The value should be a multiple of the buffer cache page size. </td>
<td> 1/4 of the JVM allocated memory </td></tr>
<tr class="a">
<td>   nc    </td>
<td> storage.lsm.bloomfilter.falsepositiverate </td>
<td> The maximum acceptable false positive rate for bloom filters associated with LSM indexes </td>
<td> 0.01 </td></tr>
<tr class="b">
<td>   nc    </td>
<td> storage.memorycomponent.globalbudget      </td>
<td> The size of memory allocated to the memory components.  The value should be a multiple of the memory component page size </td>
<td> 1/4 of the JVM allocated memory </td></tr>
<tr class="a">
<td>   nc    </td>
<td> storage.memorycomponent.numcomponents     </td>
<td> The number of memory components to be used per lsm index </td>
<td> 2 </td></tr>
<tr class="b">
<td>   nc    </td>
<td> storage.memorycomponent.pagesize          </td>
<td> The page size in bytes for pages allocated to memory components </td>
<td> 131072 (128 kB) </td></tr>
<tr class="a">
<td>   nc    </td>
<td> storage.metadata.memorycomponent.numpages </td>
<td> The number of pages to allocate for a metadata memory component </td>
<td> 8 </td></tr>
<tr class="b">
<td>   nc    </td>
<td> txn.log.dir                               </td>
<td> The directory where transaction logs should be stored </td>
<td> ${java.io.tmpdir}/asterixdb/txn-log </td></tr>
</tbody>
</table>
<p>The following parameters are configured under the &#x201c;[common]&#x201d; section.</p>
<table border="0" class="table table-striped">
<thead>

<tr class="a">
<th> Section </th>
<th> Parameter                                 </th>
<th> Meaning </th>
<th> Default </th></tr>
</thead><tbody>

<tr class="b">
<td> common  </td>
<td> active.memory.global.budget               </td>
<td> The memory budget (in bytes) for the active runtime </td>
<td> 67108864 (64 MB) </td></tr>
<tr class="a">
<td> common  </td>
<td> compiler.framesize                        </td>
<td> The page size (in bytes) for computation </td>
<td> 32768 (32 kB) </td></tr>
<tr class="b">
<td> common  </td>
<td> compiler.groupmemory                      </td>
<td> The memory budget (in bytes) for a group by operator instance in a partition </td>
<td> 33554432 (32 MB) </td></tr>
<tr class="a">
<td> common  </td>
<td> compiler.joinmemory                       </td>
<td> The memory budget (in bytes) for a join operator instance in a partition </td>
<td> 33554432 (32 MB) </td></tr>
<tr class="b">
<td> common  </td>
<td> compiler.parallelism                      </td>
<td> The degree of parallelism for query execution. Zero means to use the storage parallelism as the query execution parallelism, while other integer values dictate the number of query execution parallel partitions. The system will fall back to use the number of all available CPU cores in the cluster as the degree of parallelism if the number set by a user is too large or too small </td>
<td> 0 </td></tr>
<tr class="a">
<td> common  </td>
<td> compiler.sortmemory                       </td>
<td> The memory budget (in bytes) for a sort operator instance in a partition </td>
<td> 33554432 (32 MB) </td></tr>
<tr class="b">
<td> common  </td>
<td> compiler.textsearchmemory                       </td>
<td> The memory budget (in bytes) for an inverted-index-search operator instance in a partition </td>
<td> 33554432 (32 MB) </td></tr>
<tr class="a">
<td> common  </td>
<td> log.level                                 </td>
<td> The logging level for master and slave processes </td>
<td> WARNING </td></tr>
<tr class="b">
<td> common  </td>
<td> max.wait.active.cluster                   </td>
<td> The max pending time (in seconds) for cluster startup. After the threshold, if the cluster still is not up and running, it is considered unavailable </td>
<td> 60 </td></tr>
<tr class="a">
<td> common  </td>
<td> messaging.frame.count                     </td>
<td> Number of reusable frames for NC to NC messaging </td>
<td> 512 </td></tr>
<tr class="b">
<td> common  </td>
<td> messaging.frame.size                      </td>
<td> The frame size to be used for NC to NC messaging </td>
<td> 4096 (4 kB) </td></tr>
<tr class="a">
<td> common  </td>
<td> metadata.callback.port                    </td>
<td> IP port to bind metadata callback listener (0 = random port) </td>
<td> 0 </td></tr>
<tr class="b">
<td> common  </td>
<td> metadata.listen.port                      </td>
<td> IP port to bind metadata listener (0 = random port) </td>
<td> 0 </td></tr>
<tr class="a">
<td> common  </td>
<td> metadata.node                             </td>
<td> the node which should serve as the metadata node </td>
<td> &lt;undefined&gt; </td></tr>
<tr class="b">
<td> common  </td>
<td> metadata.registration.timeout.secs        </td>
<td> how long in seconds to wait for the metadata node to register with the CC </td>
<td> 60 </td></tr>
<tr class="a">
<td> common  </td>
<td> replication.log.batchsize                 </td>
<td> The size in bytes to replicate in each batch </td>
<td> 4096 (4 kB) </td></tr>
<tr class="b">
<td> common  </td>
<td> replication.log.buffer.numpages           </td>
<td> The number of log buffer pages </td>
<td> 8 </td></tr>
<tr class="a">
<td> common  </td>
<td> replication.log.buffer.pagesize           </td>
<td> The size in bytes of each log buffer page </td>
<td> 131072 (128 kB) </td></tr>
<tr class="b">
<td> common  </td>
<td> replication.max.remote.recovery.attempts  </td>
<td> The maximum number of times to attempt to recover from a replica on failure before giving up </td>
<td> 5 </td></tr>
<tr class="a">
<td> common  </td>
<td> replication.timeout                       </td>
<td> The time in seconds to timeout when trying to contact a replica, before assuming it is dead </td>
<td> 15 </td></tr>
<tr class="b">
<td> common  </td>
<td> storage.max.active.writable.datasets      </td>
<td> The maximum number of datasets that can be concurrently modified </td>
<td> 8 </td></tr>
<tr class="a">
<td> common  </td>
<td> txn.commitprofiler.enabled                </td>
<td> Enable output of commit profiler logs </td>
<td> false </td></tr>
<tr class="b">
<td> common  </td>
<td> txn.commitprofiler.reportinterval         </td>
<td> Interval (in seconds) to report commit profiler logs </td>
<td> 5 </td></tr>
<tr class="a">
<td> common  </td>
<td> txn.job.recovery.memorysize               </td>
<td> The memory budget (in bytes) used for recovery </td>
<td> 67108864 (64 MB) </td></tr>
<tr class="b">
<td> common  </td>
<td> txn.lock.escalationthreshold              </td>
<td> The maximum number of entity locks to obtain before upgrading to a dataset lock </td>
<td> 1000 </td></tr>
<tr class="a">
<td> common  </td>
<td> txn.lock.shrinktimer                      </td>
<td> The time (in milliseconds) where under utilization of resources will trigger a shrink phase </td>
<td> 5000 </td></tr>
<tr class="b">
<td> common  </td>
<td> txn.lock.timeout.sweepthreshold           </td>
<td> Interval (in milliseconds) for checking lock timeout </td>
<td> 10000 </td></tr>
<tr class="a">
<td> common  </td>
<td> txn.lock.timeout.waitthreshold            </td>
<td> Time out (in milliseconds) of waiting for a lock </td>
<td> 60000 </td></tr>
<tr class="b">
<td> common  </td>
<td> txn.log.buffer.numpages                   </td>
<td> The number of pages in the transaction log tail </td>
<td> 8 </td></tr>
<tr class="a">
<td> common  </td>
<td> txn.log.buffer.pagesize                   </td>
<td> The page size (in bytes) for transaction log buffer </td>
<td> 4194304 (4MB) </td></tr>
<tr class="b">
<td> common  </td>
<td> txn.log.checkpoint.history                </td>
<td> The number of checkpoints to keep in the transaction log </td>
<td> 0 </td></tr>
<tr class="a">
<td> common  </td>
<td> txn.log.checkpoint.lsnthreshold           </td>
<td> The checkpoint threshold (in terms of LSNs (log sequence numbers) that have been written to the transaction log, i.e., the length of the transaction log) for transaction logs </td>
<td> 67108864 (64 MB) </td></tr>
<tr class="b">
<td> common  </td>
<td> txn.log.checkpoint.pollfrequency          </td>
<td> The frequency (in seconds) the checkpoint thread should check to see if a checkpoint should be written </td>
<td> 120 </td></tr>
<tr class="a">
<td> common  </td>
<td> txn.log.partitionsize                     </td>
<td> The maximum size (in bytes) of each transaction log file </td>
<td> 268435456 (256 MB) </td></tr>
</tbody>
</table>
<p>For the optional NCService process configuration file, the following parameters, under &#x201c;[ncservice]&#x201d; section.</p>
<table border="0" class="table table-striped">
<thead>

<tr class="a">
<th> Parameter </th>
<th> Meaning </th>
<th>  Default </th></tr>
</thead><tbody>

<tr class="b">
<td> address </td>
<td> The address the NCService listens on for commands from the CC </td>
<td> (all addresses) </td></tr>
<tr class="a">
<td> port </td>
<td> The port for the NCService listens on for commands from the CC </td>
<td> 9090 </td></tr>
<tr class="b">
<td> logdir </td>
<td> Directory where NCService logs should be written (&#x2018;-&#x2019; indicates that output should go to stdout) </td>
<td> ${app.home}/logs (${user.home} if &#x2018;app.home&#x2019; not present in NCService Java system properties. </td></tr>
</tbody>
</table></div>
        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
<div class="row-fluid">Apache AsterixDB, AsterixDB, Apache, the Apache
        feather logo, and the Apache AsterixDB project logo are either
        registered trademarks or trademarks of The Apache Software
        Foundation in the United States and other countries.
        All other marks mentioned may be trademarks or registered
        trademarks of their respective owners.
      </div>
        </div>
      </div>
    </footer>
  </body>
</html>
