blob: f129cf39d43d6393e5d4f9d5e7b132fabc1c24f7 [file] [log] [blame]
Ian Maxonbf2c56b2017-01-24 14:14:49 -08001<!DOCTYPE html>
2<!--
Ian Maxond5b11d82017-01-25 10:48:05 -08003 | Generated by Apache Maven Doxia at 2017-01-25
Ian Maxonbf2c56b2017-01-24 14:14:49 -08004 | Rendered using Apache Maven Fluido Skin 1.3.0
5-->
6<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7 <head>
8 <meta charset="UTF-8" />
9 <meta name="viewport" content="width=device-width, initial-scale=1.0" />
Ian Maxond5b11d82017-01-25 10:48:05 -080010 <meta name="Date-Revision-yyyymmdd" content="20170125" />
Ian Maxonbf2c56b2017-01-24 14:14:49 -080011 <meta http-equiv="Content-Language" content="en" />
12 <title>AsterixDB &#x2013; Introduction</title>
13 <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
14 <link rel="stylesheet" href="./css/site.css" />
15 <link rel="stylesheet" href="./css/print.css" media="print" />
16
17
18 <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script>
19
20
21
Ian Maxonbf2c56b2017-01-24 14:14:49 -080022
Ian Maxonbf2c56b2017-01-24 14:14:49 -080023
24 </head>
25 <body class="topBarDisabled">
26
27
28
29
30 <div class="container-fluid">
31 <div id="banner">
32 <div class="pull-left">
33 <a href="./" id="bannerLeft">
34 <img src="images/asterixlogo.png" alt="AsterixDB"/>
35 </a>
36 </div>
37 <div class="pull-right"> </div>
38 <div class="clear"><hr/></div>
39 </div>
40
41 <div id="breadcrumbs">
42 <ul class="breadcrumb">
43
44
Ian Maxond5b11d82017-01-25 10:48:05 -080045 <li id="publishDate">Last Published: 2017-01-25</li>
Ian Maxonbf2c56b2017-01-24 14:14:49 -080046
47
48
49 <li id="projectVersion" class="pull-right">Version: 0.9.0</li>
50
51 <li class="divider pull-right">|</li>
52
53 <li class="pull-right"> <a href="index.html" title="Documentation Home">
54 Documentation Home</a>
55 </li>
56
57 </ul>
58 </div>
59
60
61 <div class="row-fluid">
62 <div id="leftColumn" class="span3">
63 <div class="well sidebar-nav">
64
65
66 <ul class="nav nav-list">
67 <li class="nav-header">Get Started - Installation</li>
68
69 <li>
70
71 <a href="ncservice.html" title="Option 1: using NCService">
72 <i class="none"></i>
73 Option 1: using NCService</a>
74 </li>
75
76 <li>
77
78 <a href="install.html" title="Option 2: using Managix">
79 <i class="none"></i>
80 Option 2: using Managix</a>
81 </li>
82
83 <li class="active">
84
85 <a href="#"><i class="none"></i>Option 3: using YARN</a>
86 </li>
87 <li class="nav-header">AsterixDB Primer</li>
88
89 <li>
90
91 <a href="sqlpp/primer-sqlpp.html" title="Option 1: using SQL++">
92 <i class="none"></i>
93 Option 1: using SQL++</a>
94 </li>
95
96 <li>
97
98 <a href="aql/primer.html" title="Option 2: using AQL">
99 <i class="none"></i>
100 Option 2: using AQL</a>
101 </li>
102 <li class="nav-header">Data Model</li>
103
104 <li>
105
106 <a href="datamodel.html" title="The Asterix Data Model">
107 <i class="none"></i>
108 The Asterix Data Model</a>
109 </li>
110 <li class="nav-header">Queries - SQL++</li>
111
112 <li>
113
114 <a href="sqlpp/manual.html" title="The SQL++ Query Language">
115 <i class="none"></i>
116 The SQL++ Query Language</a>
117 </li>
118
119 <li>
120
121 <a href="sqlpp/builtins.html" title="Builtin Functions">
122 <i class="none"></i>
123 Builtin Functions</a>
124 </li>
125 <li class="nav-header">Queries - AQL</li>
126
127 <li>
128
129 <a href="aql/manual.html" title="The Asterix Query Language (AQL)">
130 <i class="none"></i>
131 The Asterix Query Language (AQL)</a>
132 </li>
133
134 <li>
135
136 <a href="aql/builtins.html" title="Builtin Functions">
137 <i class="none"></i>
138 Builtin Functions</a>
139 </li>
140 <li class="nav-header">Advanced Features</li>
141
142 <li>
143
144 <a href="aql/similarity.html" title="Support of Similarity Queries">
145 <i class="none"></i>
146 Support of Similarity Queries</a>
147 </li>
148
149 <li>
150
151 <a href="aql/fulltext.html" title="Support of Full-text Queries">
152 <i class="none"></i>
153 Support of Full-text Queries</a>
154 </li>
155
156 <li>
157
158 <a href="aql/externaldata.html" title="Accessing External Data">
159 <i class="none"></i>
160 Accessing External Data</a>
161 </li>
162
163 <li>
164
165 <a href="feeds/tutorial.html" title="Support for Data Ingestion">
166 <i class="none"></i>
167 Support for Data Ingestion</a>
168 </li>
169
170 <li>
171
172 <a href="udf.html" title="User Defined Functions">
173 <i class="none"></i>
174 User Defined Functions</a>
175 </li>
176
177 <li>
178
179 <a href="aql/filters.html" title="Filter-Based LSM Index Acceleration">
180 <i class="none"></i>
181 Filter-Based LSM Index Acceleration</a>
182 </li>
183 <li class="nav-header">API/SDK</li>
184
185 <li>
186
187 <a href="api.html" title="HTTP API">
188 <i class="none"></i>
189 HTTP API</a>
190 </li>
191 </ul>
192
193
194
195 <hr class="divider" />
196
197 <div id="poweredBy">
198 <div class="clear"></div>
199 <div class="clear"></div>
200 <div class="clear"></div>
201 <a href="./" title="AsterixDB" class="builtBy">
202 <img class="builtBy" alt="AsterixDB" src="images/asterixlogo.png" />
203 </a>
204 </div>
205 </div>
206 </div>
207
208
209 <div id="bodyColumn" class="span9" >
210
211 <!-- ! Licensed to the Apache Software Foundation (ASF) under one
212 ! or more contributor license agreements. See the NOTICE file
213 ! distributed with this work for additional information
214 ! regarding copyright ownership. The ASF licenses this file
215 ! to you under the Apache License, Version 2.0 (the
216 ! "License"); you may not use this file except in compliance
217 ! with the License. You may obtain a copy of the License at
218 !
219 ! http://www.apache.org/licenses/LICENSE-2.0
220 !
221 ! Unless required by applicable law or agreed to in writing,
222 ! software distributed under the License is distributed on an
223 ! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
224 ! KIND, either express or implied. See the License for the
225 ! specific language governing permissions and limitations
226 ! under the License.
227 ! --><h1>Introduction</h1>
228<div class="section">
229<h2><a name="Table_of_Contents"></a><a name="toc" id="toc">Table of Contents</a></h2>
230
231<ul>
232
233<li><a href="#arch">Architecture Overview</a></li>
234
235<li><a href="#prereq">Prerequisites</a></li>
236
237<li><a href="#tut">Tutorial Installation</a></li>
238
239<li><a href="#faq">FAQ and Common Issues</a></li>
240
241<li><a href="#detail">Reference guide to AsterixDB&#x2019;s YARN Client</a></li>
242</ul>
243<p>This is a guide describing how to deploy AsterixDB onto a YARN-based environment.</p></div>
244<div class="section">
245<h2><a name="AsterixDB_and_the_YARN_environment"></a><a name="arch" id="arch">AsterixDB and the YARN environment</a></h2>
246<p>AsterixDB uses a shared-nothing architecture and local file-based storage- not HDFS. Hence we are reliant on the local storage on each node (&#x2018;iodevices&#x2019; in AsterixDB ). In YARN there are 3 main types of storage available: </p>
247
248<ul>
249
250<li>HDFS file storage (only suitable for long-lived artifacts, can be slower than local disk)</li>
251
252<li>Ephemeral container storage that is cleaned by YARN after a container exits (unsuitable except for transient artifacts)</li>
253
254<li>Node-local destinations not managed by YARN, but which are accesable by the container and live beyond its termination.</li>
255</ul>
256<p>AsterixDB uses only the last type of storage, which is available with both the DefaultContainerExecutor and LinuxContainerExecutor. However keep in mind that with the DefaultContainerExecutor, the directory must be accessable by the same process that the YARN NodeManager is running as, while with the LinuxContainerExecutor it must be accessable by the unix user who is running the job.</p></div>
257<div class="section">
258<h2><a name="Prerequisites"></a><a name="prereq" id="prereq">Prerequisites</a></h2>
259<p>For this tutorial it will be assumed that we have a YARN cluster with the proper environment variables set. To test this, try running the DistributedShell example that is distributed as part of Apache Hadoop. If that sample application can be run successfully then the environment should be acceptable for launching AsterixDB on to your YARN-enabled cluster.</p>
260<div class="section">
261<h3><a name="Vagrant_and_Puppet_Virtualized_cluster_for_Tutorial"></a>Vagrant and Puppet Virtualized cluster for Tutorial</h3>
262<p>For the purposes of this tutorial, a virtualized cluster that matches all of the tutorial configurations can be found at <a class="externalLink" href="https://github.com/parshimers/yarn-sample-cluster">https://github.com/parshimers/yarn-sample-cluster</a>. It requires a machine with about 4-8GB of RAM to run. To start with this cluster, first clone the repository:</p>
263
264<div class="source">
265<div class="source">
266<pre> &#x21aa; git clone https://github.com/parshimers/yarn-sample-cluster.git
267 Cloning into 'yarn-sample-cluster'...
268 remote: Counting objects: 490, done.
269 remote: Compressing objects: 100% (315/315), done.
270 remote: Total 490 (delta 152), reused 490 (delta 152)
271 Receiving objects: 100% (490/490), 521.34 KiB | 201.00 KiB/s, done.
272 Resolving deltas: 100% (152/152), done.
273 Checking connectivity... done.
274</pre></div></div>
275<p>If the &#x2018;hostmanager&#x2019; plugin for Vagrant isn&#x2019;t already installed, install it like so:</p>
276
277<div class="source">
278<div class="source">
279<pre> &#x21aa; vagrant plugin install vagrant-hostmanager
280 Installing the 'vagrant-hostmanager' plugin. This can take a few minutes...
281 Installed the plugin 'vagrant-hostmanager (1.5.0)'!
282</pre></div></div>
283<p>Then start the tutorial cluster. The hostmanger plugin may ask for sudo at some point, because it updates your hosts file to include the virtual machines.</p>
284
285<div class="source">
286<div class="source">
287<pre> &#x21aa; vagrant up
288 Bringing machine 'nc2' up with 'virtualbox' provider...
289 Bringing machine 'nc1' up with 'virtualbox' provider...
290 Bringing machine 'cc' up with 'virtualbox' provider...
291 ...
292</pre></div></div>
293<p>Once vagrant returns, the environment will be ready. The working directory with the Vagrantfile is also visible to each of the virtual machines (in the /vagrant directory), so we will unzip the Asterix binaries here as well for easy access. The YARN binary can be found on the AsterixDB <a class="externalLink" href="http://asterixdb.ics.uci.edu/download.html">downloads page</a></p>
294
295<div class="source">
296<div class="source">
297<pre>&#x21aa; unzip -d asterix-yarn/ asterix-yarn-binary-assembly.zip
298...
299</pre></div></div>
300<p>To log into the node from which we will run the rest of the tutorial, use &#x2018;vagrant ssh&#x2019; to get to the CC node and move to the YARN client&#x2019;s location:</p>
301
302<div class="source">
303<div class="source">
304<pre> &#x21aa; vagrant ssh cc
305 [vagrant@cc ~]$
306 [vagrant@cc ~]$ cd /vagrant/asterix-yarn
307 [vagrant@cc asterix-yarn]$
308</pre></div></div>
309<h1><a name="tut" id="tut">Tutorial installation</a></h1></div></div>
310<div class="section">
311<h2><a name="Configuration"></a>Configuration</h2>
312<p>To deploy AsterixDB onto a YARN cluster, we need to construct a configuration file that describes the resources that will be requested from YARN for AsterixDB. </p>
313
314<div class="source">
315
316<div class="source">
317<pre>
318<img src="images/yarn_clust.png" alt="Illustration of a simple YARN cluster with AsterixDB processes." />
319<i>Fig. 1</i>: Illustration of a simple YARN cluster with AsterixDB processes and their locations
320</pre></div>
321</div>
322<p>This AsterixDB cluster description file corresponds to the above deployed scenario.</p>
323
324<div class="source">
325<div class="source">
326<pre> &lt;cluster xmlns=&quot;yarn_cluster&quot;&gt;
327 &lt;name&gt;my_awesome_instance&lt;/name&gt;
328 &lt;txn_log_dir&gt;/home/yarn/&lt;/txn_log_dir&gt;
329 &lt;iodevices&gt;/home/yarn/&lt;/iodevices&gt;
330 &lt;store&gt;asterix-data&lt;/store&gt;
331 &lt;master_node&gt;
332 &lt;id&gt;cc&lt;/id&gt;
333 &lt;client_ip&gt;10.10.0.2&lt;/client_ip&gt;
334 &lt;cluster_ip&gt;10.10.0.2&lt;/cluster_ip&gt;
335 &lt;client_port&gt;1098&lt;/client_port&gt;
336 &lt;cluster_port&gt;1099&lt;/cluster_port&gt;
337 &lt;http_port&gt;8888&lt;/http_port&gt;
338 &lt;/master_node&gt;
339 &lt;node&gt;
340 &lt;id&gt;nc1&lt;/id&gt;
341 &lt;cluster_ip&gt;10.10.0.3&lt;/cluster_ip&gt;
342 &lt;/node&gt;
343 &lt;node&gt;
344 &lt;id&gt;nc2&lt;/id&gt;
345 &lt;cluster_ip&gt;10.10.0.4&lt;/cluster_ip&gt;
346 &lt;/node&gt;
347 &lt;metadata_node&gt;nc1&lt;/metadata_node&gt;
348 &lt;/cluster&gt;
349</pre></div></div>
350<p>In this example we have 3 NCs and one CC. Each node is defined by a unique name (not necessarily hostname) and an IP on which AsterixDB nodes will listen and communicate with eachother. This is the &#x2018;cluster_ip&#x2019; parameter. The &#x2018;client_ip&#x2019; parameter is the interface on which client-facing services are presented, for example the web interface. For the next step this file will be saved as &#x2018;my_awesome_cluster_desc.xml&#x2019; in the configs directory.</p></div>
351<div class="section">
352<h2><a name="Installing_and_starting_the_instance"></a>Installing and starting the instance</h2>
353<p>With this configuration in hand, the YARN client can be used to deploy AsterixDB onto the cluster:</p>
354
355<div class="source">
356<div class="source">
357<pre> [vagrant@cc asterix-yarn]$ bin/asterix -n my_awesome_instance -c configs/my_awesome_cluster_desc.xml install
358 Waiting for new AsterixDB Instance to start .
359 Asterix successfully deployed and is now running.
360</pre></div></div>
361<p>The instance will be visible in the YARN RM similar to the below image
362<div class="source"> </p>
363<div class="source">
364<pre> <img src="images/running_inst.png" alt="Illustration of a simple YARN cluster with AsterixDB processes." /> <i>Fig. 2</i>: Hadoop YARN Resource Manager dashboard with running AsterixDB instance </pre></div> </div>
365<p>Once the client returns success, the instance is now ready to be used. We can now use the asterix instance at the CC&#x2019;s IP (10.10.0.2), on the default port (19001).</p>
366
367<div class="source">
368
369<div class="source">
370<pre>
371<img src="images/asterix_webui.png" alt="Illustration of a simple YARN cluster with AsterixDB processes." />
372<i>Fig. 3</i>: AsterixDB Web User Interface
373</pre></div>
374</div>
375<p>From here, to try things out we could run the ADM &amp; AQL 101 tutorial or any other sample workload.</p></div>
376<div class="section">
377<h2><a name="Stopping_the_instance"></a>Stopping the instance</h2>
378<p>To stop the instance that was just deployed, the <tt>stop</tt> command is used:</p>
379
380<div class="source">
381<div class="source">
382<pre> [vagrant@cc asterix-yarn]$ bin/asterix -n my_awesome_instance stop
383 Stopping instance my_awesome_instance
384</pre></div></div>
385<p>This attempts a graceful shutdown of the instance. If for some reason this does not succeed, the <tt>kill</tt> action can be used to force shutdown in a similar fashion:</p>
386
387<div class="source">
388<div class="source">
389<pre> [vagrant@cc asterix-yarn]$ bin/asterix -n my_awesome_instance kill
390 Are you sure you want to kill this instance? In-progress tasks will be aborted
391 Are you sure you want to do this? (yes/no): yes
392</pre></div></div></div>
393<div class="section">
394<h2><a name="Managing_stopped_instances"></a>Managing stopped instances</h2>
395<p>After stopping the instance no containers on any YARN NodeManagers are allocated. However, the state of the instance is still persisted on the local disks (and to a lesser extent, HDFS) of each machine where a Node Controller was deployed, in the iodevices and transaction log folders. Every instance, running or not can be viewed via the <tt>describe</tt> action:</p>
396
397<div class="source">
398<div class="source">
399<pre> [vagrant@cc asterix-yarn]$ bin/asterix describe
400 Existing AsterixDB instances:
401 Instance my_awesome_instance is stopped
402</pre></div></div></div>
403<div class="section">
404<h2><a name="Starting_inactive_instances"></a>Starting inactive instances</h2>
405<p>To start the instance back up once more, the <tt>start</tt> action is used:</p>
406
407<div class="source">
408<div class="source">
409<pre> [vagrant@cc asterix-yarn]$ bin/asterix -n my_awesome_instance start
410 Waiting for AsterixDB instance to resume .
411 Asterix successfully deployed and is now running.
412</pre></div></div></div>
413<div class="section">
414<h2><a name="Shutting_down_vagrant"></a>Shutting down vagrant</h2>
415<p>To stop the virtual machines, issue the vagrant halt command from the host machine in the folder containing the Vagrantfile:</p>
416
417<div class="source">
418<div class="source">
419<pre> &#x21aa; vagrant halt
420</pre></div></div>
421<h1><a name="detail" id="detail">Listing of Commands and Options</a></h1></div>
422<div class="section">
423<h2><a name="Overview"></a>Overview</h2>
424<p>All commands take the format</p>
425
426<div class="source">
427<div class="source">
428<pre> asterix [action-specific option] [action]
429</pre></div></div>
430<div class="section">
431<h3><a name="Technical_details"></a>Technical details</h3>
432<p>AsterixDB&#x2019;s YARN client is based on static allocation of containers within Node Managers based on IP. The AM and CC processes are currently not integrated in any fashion.</p>
433<p>The <tt>asterix</tt> command itself is simply a wrapper/launcher around the AsterixClient java class, that provides time-saving default parameters. It is possible to run the client directly with <tt>java -jar</tt> given the correct options as well.</p></div></div>
434<div class="section">
435<h2><a name="Actions"></a>Actions</h2>
436<p>Below is a description of the various actions available via the AsterixDB YARN client</p>
437
438<table border="0" class="table table-striped">
439 <thead>
440
441<tr class="a">
442
443<th>Action </th>
444
445<th>Description </th>
446 </tr>
447 </thead>
448 <tbody>
449
450<tr class="b">
451
452<td><tt>start</tt> </td>
453
454<td>Starts an existing instance specified by the -name flag </td>
455 </tr>
456
457<tr class="a">
458
459<td><tt>install</tt> </td>
460
461<td>Deploys and starts an AsterixDB instance described by the config specified in the -c parameter, and named by the -n parameter </td>
462 </tr>
463
464<tr class="b">
465
466<td><tt>stop</tt> </td>
467
468<td>Attempts graceful shutdown of an AsterixDB instance specified in the -name parameter </td>
469 </tr>
470
471<tr class="a">
472
473<td><tt>kill</tt> </td>
474
475<td>Forcefully stops an instance by asking YARN to terminate all of its containers. </td>
476 </tr>
477
478<tr class="b">
479
480<td><tt>destroy</tt> </td>
481
482<td>Remove the instance specified by -name and all of its stored resources from the cluster </td>
483 </tr>
484
485<tr class="a">
486
487<td><tt>describe</tt> </td>
488
489<td>Show all instances, running or not, visible to the AsterixDB YARN client </td>
490 </tr>
491
492<tr class="b">
493
494<td><tt>backup</tt> </td>
495
496<td>Copies the artifacts from a stopped instance to another directory on HDFS so that the instance can be reverted to that state </td>
497 </tr>
498
499<tr class="a">
500
501<td><tt>restore</tt> </td>
502
503<td>Restores an instance to the state saved in a snapshot </td>
504 </tr>
505
506<tr class="b">
507
508<td><tt>lsbackup</tt> </td>
509
510<td>Lists the stored snapshots from an instance </td>
511 </tr>
512
513<tr class="a">
514
515<td><tt>rmbackup</tt> </td>
516
517<td>Removes a snapshot from HDFS </td>
518 </tr>
519
520<tr class="b">
521
522<td><tt>libinstall</tt></td>
523
524<td>Installs an external library or UDF for use in queries </td>
525 </tr>
526 </tbody>
527</table></div>
528<div class="section">
529<h2><a name="Options"></a>Options</h2>
530<p>Below are all availabe options, and which actions they can be applied to</p>
531
532<table border="0" class="table table-striped">
533 <thead>
534
535<tr class="a">
536
537<th>Option </th>
538
539<th>Long Form </th>
540
541<th>Short Form </th>
542
543<th>Usage </th>
544
545<th>Applicability </th>
546 </tr>
547 </thead>
548 <tbody>
549
550<tr class="b">
551
552<td>Configuration Path </td>
553
554<td><tt>-asterixConf</tt> </td>
555
556<td><tt>-c</tt> </td>
557
558<td><tt>-c [/path/to/file]</tt>. Path to an AsterixDB Cluster Description File </td>
559
560<td>Only required with <tt>create</tt> . A configuration in DFS defines the existance of an instance. </td>
561 </tr>
562
563<tr class="a">
564
565<td>Instance Name </td>
566
567<td><tt>-name</tt> </td>
568
569<td><tt>-n</tt> </td>
570
571<td><tt>-n [instance name]</tt> Name/Identifier for instance. </td>
572
573<td>Required for all actions except <tt>describe</tt> and <tt>lsbackup</tt> </td>
574 </tr>
575
576<tr class="b">
577
578<td>Asterix Binary Path </td>
579
580<td><tt>-asterixTar</tt> </td>
581
582<td><tt>-tar</tt> </td>
583
584<td><tt>-tar [/path/to/binary]</tt> Path to asterix-server binary. </td>
585
586<td>This is the AsterixDB server binary that is distributed and run on the DFS. Usually set by default via the launcher script and cached for each instance. Can be manually set, only used in <tt>create</tt> and <tt>install</tt> with <tt>-r</tt> </td>
587 </tr>
588
589<tr class="a">
590
591<td>Force </td>
592
593<td><tt>-force</tt> </td>
594
595<td><tt>-f</tt> </td>
596
597<td><tt>-f</tt>. Use at your own risk. Disables any sanity-checking during an action. </td>
598
599<td>Can be applied to any action, but is mostly useful in cases where an instance cannot be removed properly via <tt>destroy</tt> and cleanup of DFS files is desired. </td>
600 </tr>
601
602<tr class="b">
603
604<td>Refresh </td>
605
606<td><tt>-refresh</tt> </td>
607
608<td><tt>-r</tt> </td>
609
610<td><tt>-r</tt>. Replaces cached binary with one mentioned in <tt>-tar</tt>. </td>
611
612<td>This only has an effect with the <tt>start</tt> action. It can be used to replace/upgrade the binary cached for an instance on the DFS. </td>
613 </tr>
614
615<tr class="a">
616
617<td>Base Parameters </td>
618
619<td><tt>-baseConf</tt> </td>
620
621<td><tt>-bc</tt> </td>
622
623<td><tt>-bc [path/to/params]</tt>. Specifies parameter file to use during instance creation/alteration. </td>
624
625<td>This file specifies various internal properties of the AsterixDB system, such as Buffer Cache size and Page size, among many others. It can be helpful to tweak parameters in this file, however caution should be exercised in keeping them at sane values. Only used during <tt>alter</tt> and <tt>create</tt>. </td>
626 </tr>
627
628<tr class="b">
629
630<td>External library path </td>
631
632<td><tt>-externalLibs</tt> </td>
633
634<td><tt>-l</tt> </td>
635
636<td><tt>-l [path/to/library]</tt>. Specifies an external library to upload to an existing instance. </td>
637
638<td>Only used in <tt>libinstall</tt>. Specifies the file containing the external function to install </td>
639 </tr>
640
641<tr class="a">
642
643<td>External library dataverse. </td>
644
645<td><tt>-libDataverse</tt> </td>
646
647<td><tt>-ld</tt> </td>
648
649<td><tt>-ld [existing dataverse name]</tt> </td>
650
651<td>Only used in <tt>libinstall</tt>. Specifies the dataverse to install the library in an <tt>-l</tt> option to. </td>
652 </tr>
653
654<tr class="b">
655
656<td>Snapshot ID </td>
657
658<td><tt>-snapshot</tt> </td>
659
660<td>[none] </td>
661
662<td><tt>-snapshot [backup timestamp/ID]</tt> </td>
663
664<td>Used with <tt>rmbackup</tt> and <tt>restore</tt> to specify which backup to perform the respective operation on. </td>
665 </tr>
666 </tbody>
667</table>
668<h1><a name="faq" id="faq">Frequently Asked Questions and Common Issues</a></h1>
669<div class="section">
670<h3><a name="Q:_Where_are_the_AsterixDB_logs_located"></a>Q: Where are the AsterixDB logs located?</h3>
671<p>A: YARN manages the logs for each container. They are visible in the YARN Resource Manager&#x2019;s web interface or through the hadoop command line utilities ( see <a class="externalLink" href="http://hortonworks.com/blog/simplifying-user-logs-management-and-access-in-yarn/">http://hortonworks.com/blog/simplifying-user-logs-management-and-access-in-yarn/</a> for more details). </p></div>
672<div class="section">
673<h3><a name="Q:_Why_does_AsterixDB_fail_to_start_and_the_logs_contain_errors_like_Container_is_running_beyond_virtual_memory_limits._"></a>Q: Why does AsterixDB fail to start, and the logs contain errors like &#x2018;Container is running beyond virtual memory limits.&#x2019; ?</h3>
674<p>A: This is a quirk of YARN&#x2019;s memory management that can be observed on certain operating systems (mainly CentOS). It is benign unless it causes problems of this type. A work around is to set <tt>yarn.nodemanager.vmem-check-enabled</tt> to <tt>false</tt> in the yarn-site.xml configuration for Hadoop YARN. This makes the NodeManagers avoid checking the virtual memory entirely and instead rely on resident set size to check memory usage among containers.</p></div>
675<div class="section">
676<h3><a name="Q:_How_do_I_upgrade_my_existing_instance"></a>Q: How do I upgrade my existing instance?</h3>
677<p>A: This is a complex question. Generally, one can use the <tt>refresh</tt> option to upgrade the version of an extant AsterixDB instance. However one must be cautious- we do not guarantee ABI compatability between releases. Therefore extreme caution should be exercised when attempting to upgrade this way!</p></div>
678<div class="section">
679<h3><a name="Q:_Does_AsterixDB_work_on_YARN_for_Windows"></a>Q: Does AsterixDB work on YARN for Windows?</h3>
680<p>A: In general, yes! It has been done without much real issue. However it is a infrequent use case, so expect the deployment to have some hiccups. We&#x2019;re always listening on the <a class="externalLink" href="mailto:users@asterixdb.apache.org">users@asterixdb.apache.org</a> mailing list for any issues.</p></div></div>
681 </div>
682 </div>
683 </div>
684
685 <hr/>
686
687 <footer>
688 <div class="container-fluid">
689 <div class="row span12">Copyright &copy; 2017
690 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
691 All Rights Reserved.
692
693 </div>
694
695 <?xml version="1.0" encoding="UTF-8"?>
696<div class="row-fluid">Apache AsterixDB, AsterixDB, Apache, the Apache
697 feather logo, and the Apache AsterixDB project logo are either
698 registered trademarks or trademarks of The Apache Software
699 Foundation in the United States and other countries.
700 All other marks mentioned may be trademarks or registered
701 trademarks of their respective owners.</div>
702
703
704 </div>
705 </footer>
706 </body>
707</html>