mirror of https://gitee.com/bigwinds/arangodb
487 lines
35 KiB
HTML
487 lines
35 KiB
HTML
<html><head><title>ArangoDB Manual</title> <style media="screen" type="text/css" style="display:none">body{background-color:white;font:13px Helvetica,arial,freesans,clean,sans-serif;line-height:1.4;color:#333;}#access{font-size:16px;margin-left:12px;display:block;margin-left:10px;margin-right:10px;background-color:#F3F1EE!important;}#access a{border-right:1px solid #DBDEDF;color:#A49F96;display:block;line-height:38px;padding:0 10px;text-decoration:none;}#navigation ul{text-transform:uppercase;list-style:none;margin:0;}#navigation li{float:left;position:relative;}#container{width:920px;margin:0 auto;}a{color:#4183C4;text-decoration:none;}.contents h2{font-size:24px;border-bottom:1px solid #CCC;color:black;}.contents h1{font-size:33px;border-bottom:1px solid #CCC;color:black;}.clearfix:after{content:".";display:block;clear:both;font-size:0;height:0;visibility:hidden;}/**/ *:first-child+html .clearfix{min-height:0;}/**/ * html .clearfix{height:1%;}</style></head><body><div id="container"><img src="images/logo_arangodb.png" width="397" height="67" alt="ArangoDB"><div id="access" role="navigation"><div id="navigation"><ul id="menu-ahome" class="menu"><li><a href="Home.html">Table of contents</a></li> <li><a href="http://www.arangodb.org">ArangoDB homepage</a></li></ul></div><div class="clearfix"></div></div><div>
|
|
<!-- Generated by Doxygen 1.7.5.1 -->
|
|
</div>
|
|
<div class="header">
|
|
<div class="headertitle">
|
|
<h1>Command-Line Options </h1> </div>
|
|
</div>
|
|
<div class="contents">
|
|
<div class="textblock"><hr/>
|
|
<ul>
|
|
<li>
|
|
<a class="el" href="CommandLine.html">Command-Line Options</a> <ul>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineGeneralOptions">General Options</a> <ul>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineHelp">help</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineVersion">version</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineConfiguration">configuration</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineDaemon">daemon</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineSupervisor">supervisor</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineUid">uid</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineGid">gid</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLinePidFile">pid-file</a> </li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArango">Command-Line Options for the ArangoDB</a> <ul>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArangoEndpoint">server.endpoint</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArangoDisableAuthentication">server.disable-authentication</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArangoKeepAliveTimeout">server.keep-alive-timeout</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArangoKeyFile">server.keyfile</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArangoCaFile">server.cafile</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArangoSslProtocol">server.ssl-protocol</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArangoSslCacheMode">server.ssl-cache</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArangoSslOptions">server.ssl-options</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArangoSslCipherList">server.ssl-cipher-list</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArangoDirectory">database.directory</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArangoMaximalJournalSize">database.maximal-journal-size</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArangoWaitForSync">database.wait-for-sync</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArangoForceSyncShapes">database.force-sync-shapes</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArangoRemoveOnDrop">database.remove-on-compacted</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArangoJsGcFrequency">javascript.gc-frequency</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineArangoJsGcInterval">javascript.gc-interval</a> </li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineLogging">Command-Line Options for Logging</a> <ul>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineLoggingGeneral">General Logging Options</a> <ul>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineLoggingLogFile">log.file</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineLoggingLogSeverity">log.severity</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineLoggingLogSyslog">log.syslog</a> </li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineLoggingHuman">Human Readable Logging</a> <ul>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineLoggingLogLevel">log.level</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineLoggingLogLineNumber">log.line-number</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineLoggingLogPrefix">log.prefix</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineLoggingLogThread">log.thread</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineLoggingLogFilter">log.filter</a> </li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineLoggingMachine">Maschine Readable Logging</a> <ul>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineLoggingLogApplication">log.application</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineLoggingLogFacility">log.facility</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineLoggingLogFormat">log.format</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineLoggingLogHostName">log.hostname</a> </li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineScheduler">Command-Line Options for Communication</a> <ul>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineSchedulerThreads">scheduler.threads</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineSchedulerBackend">scheduler.backend</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineSchedulerShowIoBackends">show-io-backends</a> </li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineRandom">Command-Line Options for Random Numbers</a> <ul>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineRandomGenerator">random.generator</a> </li>
|
|
<li>
|
|
<a class="el" href="CommandLine.html#CommandLineRandomGenerator">random.no-seed</a> </li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<hr/>
|
|
<h2><a class="anchor" id="CommandLineGeneralOptions"></a>
|
|
General Options</h2>
|
|
<p><a class="anchor" id="CommandLineHelp"></a> <hr/>
|
|
<code><b>--help</b></code><hr/>
|
|
<hr/>
|
|
<code><b>-h</b></code><hr/>
|
|
Prints a list of the most common options available and then exits. In order to see all options use <code>--help-all</code>. </p>
|
|
<p><a class="anchor" id="CommandLineVersion"></a> <hr/>
|
|
<code><b>--version</b></code><hr/>
|
|
<hr/>
|
|
<code><b>-v</b></code><hr/>
|
|
Prints the version of the server and exits. </p>
|
|
<p><a class="anchor" id="CommandLineConfiguration"></a> <hr/>
|
|
<code><b>--configuration <em>filename</em></b></code><hr/>
|
|
<hr/>
|
|
<code><b>-c <em>filename</em></b></code><hr/>
|
|
Specifies the name of the configuration file to use.</p>
|
|
<p>If this command is not passed to the server, then by default, the server will attempt to first locate a file named <code>~/SERVER/SERVER.conf</code> in the user's home directory, where <em>SERVER</em> is the name of the corresponding server.</p>
|
|
<p>If no such file is found, the server will proceed to look for a file <code>/etc/SERVER.conf</code> in the system configuration directory. The default installation specifies the system configuration directory as /etc. Therefore, in case that no configuration file is found in the user's home directory, the server will proceed to look for a file named <code>/etc/SERVER.conf</code>.</p>
|
|
<p>Only command line options with a value should be set within the configuration file. Command line options which act as flags should be entered on the command line when starting the server.</p>
|
|
<p>White space is ignored. Each option is specified on a separate line in the form</p>
|
|
<div class="fragment"><pre class="fragment">key = value
|
|
</pre></div><p>Alternatively, a header section can be specified and options pertaining to that section can be specified in a shorter form</p>
|
|
<div class="fragment"><pre class="fragment">[log]
|
|
level = trace
|
|
</pre></div><p>rather than specifying</p>
|
|
<div class="fragment"><pre class="fragment">log.level = trace
|
|
</pre></div><p>Comments can be placed in the configuration file, only if the line begins with one or more hash symbols (#).</p>
|
|
<p>There may be occasions where a configuration file exists and the user wishes to override configuration settings stored in a configuration file. Any settings specified on the command line will overwrite the same setting when it appears in a configuration file. If the user wishes to completely ignore configuration files without necessarily deleting the file (or files), then add the command line option</p>
|
|
<div class="fragment"><pre class="fragment">-c none
|
|
</pre></div><p>or</p>
|
|
<div class="fragment"><pre class="fragment">--configuration none
|
|
</pre></div><p>when starting up the server. Note that, the word <code>none</code> is case-insensitive. </p>
|
|
<p><a class="anchor" id="CommandLineDaemon"></a><hr/>
|
|
<code><b>--daemon</b></code><hr/>
|
|
Runs the server as a daemon (as a background process). This parameter can only be set if the pid (process id) file is specified. That is, unless a value to the parameter pid-file is given, then the server will report an error and exit.</p>
|
|
<p><a class="anchor" id="CommandLineSupervisor"></a><hr/>
|
|
<code><b>--supervisor</b></code><hr/>
|
|
Executes the server in supervisor mode. In the event that the server unexpectedly terminates due to an internal error, the supervisor will automatically restart the server. Setting this flag automatically implies that the server will run as a daemon. Note that, as with the daemon flag, this flag requires that the pid-file parameter will set.</p>
|
|
<div class="fragment"><pre class="fragment">> ./arangod --supervisor --pid-file /var/run/arangodb.pid /tmp/vocbase/
|
|
2012-06-27T15:58:28Z [10133] INFO starting up in supervisor mode
|
|
</pre></div><p>As can be seen (e.g. by executing the ps command), this will start a supervisor process and the actual database process:</p>
|
|
<div class="fragment"><pre class="fragment">> ps fax | grep arangod
|
|
10137 ? Ssl 0:00 ./arangod --supervisor --pid-file /var/run/arangodb.pid /tmp/vocbase/
|
|
10142 ? Sl 0:00 \_ ./arangod --supervisor --pid-file /var/run/arangodb.pid /tmp/vocbase/
|
|
</pre></div><p>When the database process terminates unexpectedly, the supervisor process will start up a new database process:</p>
|
|
<div class="fragment"><pre class="fragment">> kill -SIGSEGV 10142
|
|
|
|
> ps fax | grep arangod
|
|
10137 ? Ssl 0:00 ./arangod --supervisor --pid-file /var/run/arangodb.pid /tmp/vocbase/
|
|
10168 ? Sl 0:00 \_ ./arangod --supervisor --pid-file /var/run/arangodb.pid /tmp/vocbase/
|
|
</pre></div><p><a class="anchor" id="CommandLineUid"></a> <hr/>
|
|
<code><b>--uid <em>uid</em></b></code><hr/>
|
|
The name (identity) of the user the server will run as. If this parameter is not specified, the server will not attempt to change its UID, so that the UID used by the server will be the same as the UID of the user who started the server. If this parameter is specified, then the server will change its UID after opening ports and reading configuration files, but before accepting connections or opening other files (such as recovery files). This is useful when the server must be started with raised privileges (in certain environments) but security considerations require that these privileges be dropped once the server has started work.</p>
|
|
<p>Observe that this parameter cannot be used to bypass operating system security. In general, this parameter (and its corresponding relative gid) can lower privileges but not raise them. </p>
|
|
<p><a class="anchor" id="CommandLineGid"></a> <hr/>
|
|
<code><b>--gid <em>gid</em></b></code><hr/>
|
|
The name (identity) of the group the server will run as. If this parameter is not specified, then the server will not attempt to change its GID, so that the GID the server runs as will be the primary group of the user who started the server. If this parameter is specified, then the server will change its GID after opening ports and reading configuration files, but before accepting connections or opening other files (such as recovery files).</p>
|
|
<p>This parameter is related to the parameter uid. </p>
|
|
<p><a class="anchor" id="CommandLinePidFile"></a> <hr/>
|
|
<code><b>--pid-file <em>filename</em></b></code><hr/>
|
|
The name of the process ID file to use when running the server as a daemon. This parameter must be specified if either the flag <code>daemon</code> or <code>supervisor</code> is set. </p>
|
|
<h2><a class="anchor" id="CommandLineArango"></a>
|
|
Command-Line Options for the ArangoDB</h2>
|
|
<p><a class="anchor" id="CommandLineArangoEndpoint"></a> <hr/>
|
|
<code><b>--server.endpoint <em>endpoint</em></b></code><hr/>
|
|
Specifies an <em>endpoint</em> for HTTP requests by clients. Endpoints have the following pattern:</p>
|
|
<ul>
|
|
<li>tcp://ipv4-address:port - TCP/IP endpoint, using IPv4</li>
|
|
<li>tcp://[ipv6-address]:port - TCP/IP endpoint, using IPv6</li>
|
|
<li>ssl://ipv4-address:port - TCP/IP endpoint, using IPv4, SSL encryption</li>
|
|
<li>ssl://[ipv6-address]:port - TCP/IP endpoint, using IPv6, SSL encryption</li>
|
|
<li>unix:///path/to/socket - Unix domain socket endpoint</li>
|
|
</ul>
|
|
<p>If a TCP/IP endpoint is specified without a port number, then the default port (8529) will be used. If multiple endpoints need to be used, the option can be repeated multiple times.</p>
|
|
<p><b>Examples</b><br/>
|
|
</p>
|
|
<div class="fragment"><pre class="fragment">> ./arangod --server.endpoint tcp://127.0.0.1:8529 --server.endpoint ssl://127.0.0.1:8530 -server.keyfile server.pem /tmp/vocbase
|
|
2012-07-26T07:07:47Z [8161] INFO using SSL protocol version 'TLSv1'
|
|
2012-07-26T07:07:48Z [8161] INFO using endpoint 'ssl://127.0.0.1:8530' for http ssl requests
|
|
2012-07-26T07:07:48Z [8161] INFO using endpoint 'tcp://127.0.0.1:8529' for http tcp requests
|
|
2012-07-26T07:07:49Z [8161] INFO ArangoDB (version 1.1.alpha) is ready for business
|
|
2012-07-26T07:07:49Z [8161] INFO Have Fun!
|
|
</pre></div><p>Note that if you are using SSL-encrypted endpoints, you must also supply the path to a server certificate using the --server.keyfile optionn. </p>
|
|
<p><a class="anchor" id="CommandLineArangoDisableAuthentication"></a> <hr/>
|
|
<code><b>--server.disable-authentication <em>value</em></b></code><hr/>
|
|
Setting <em>value</em> to true will turn off authentication on the server side so all clients can execute any action without authorisation and privilege checks.</p>
|
|
<p>The default value is <code>false</code>. </p>
|
|
<p><a class="anchor" id="CommandLineArangoKeepAliveTimeout"></a> <hr/>
|
|
<code><b>--server.keep-alive-timeout</b></code><hr/>
|
|
Allows to specify the timeout for HTTP keep-alive connections. The timeout value must be specified in seconds. Idle keep-alive connections will be closed by the server automatically when the timeout is reached. A keep-alive-timeout value 0 will disable the keep alive feature entirely. </p>
|
|
<p><a class="anchor" id="CommandLineArangoKeyFile"></a> <hr/>
|
|
<code><b>--server.keyfile <em>filename</em></b></code><hr/>
|
|
If SSL encryption is used, this option must be used to specify the filename of the server private key. The file must be PEM formatted and contain both the certificate and the server's private key.</p>
|
|
<p>The file specified by <em>filename</em> should have the following structure:</p>
|
|
<div class="fragment"><pre class="fragment">-----BEGIN CERTIFICATE-----
|
|
|
|
(base64 encoded certificate)
|
|
|
|
-----END CERTIFICATE-----
|
|
-----BEGIN RSA PRIVATE KEY-----
|
|
|
|
(base64 encoded private key)
|
|
|
|
-----END RSA PRIVATE KEY-----
|
|
</pre></div><p>You may use certificates issued by a Certificate Authority or self-signed certificates. Self-signed certificates can be created by a tool of your choice. When using OpenSSL for creating the self-signed certificate, the following commands should create a valid keyfile:</p>
|
|
<div class="fragment"><pre class="fragment"># create private key in file "server.key"
|
|
openssl genrsa -des3 -out server.key 1024
|
|
|
|
# create certificate signing request (csr) in file "server.csr"
|
|
openssl req -new -key server.key -out server.csr
|
|
|
|
# copy away original private key to "server.key.org"
|
|
cp server.key server.key.org
|
|
|
|
# remove passphrase from the private key
|
|
openssl rsa -in server.key.org -out server.key
|
|
|
|
# sign the csr with the key, creates certificate PEM file "server.crt"
|
|
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
|
|
|
|
# combine certificate and key into single PEM file "server.pem"
|
|
cat server.crt server.key > server.pem
|
|
</pre></div><p>For further information please check the manuals of the tools you use to create the certificate.</p>
|
|
<p>Note: the --server.keyfile option must be set if the server is started with at least one SSL endpoint. </p>
|
|
<p><a class="anchor" id="CommandLineArangoCaFile"></a> <hr/>
|
|
<code><b>--server.cafile <em>filename</em></b></code><hr/>
|
|
This option can be used to specify a file with CA certificates that are sent to the client whenever the server requests a client certificate. If the file is specified, The server will only accept client requests with certificates issued by these CAs. Do not specify this option if you want clients to be able to connect without specific certificates.</p>
|
|
<p>The certificates in <em>filename</em> must be PEM formatted.</p>
|
|
<p>Note: this option is only relevant if at least one SSL endpoint is used. </p>
|
|
<p><a class="anchor" id="CommandLineArangoSslProtocol"></a> <hr/>
|
|
<code><b>--server.ssl-protocol <em>value</em></b></code><hr/>
|
|
Use this option to specify the default encryption protocol to be used. The following variants are available:</p>
|
|
<ul>
|
|
<li>1: SSLv2</li>
|
|
<li>2: SSLv23</li>
|
|
<li>3: SSLv3</li>
|
|
<li>4: TLSv1</li>
|
|
</ul>
|
|
<p>The default <em>value</em> is 4 (i.e. TLSv1).</p>
|
|
<p>Note: this option is only relevant if at least one SSL endpoint is used. </p>
|
|
<p><a class="anchor" id="CommandLineArangoSslCacheMode"></a> <hr/>
|
|
<code><b>--server.ssl-cache <em>value</em></b></code><hr/>
|
|
Set to true if SSL session caching should be used.</p>
|
|
<p><em>value</em> has a default value of <code>false</code> (i.e. no caching).</p>
|
|
<p>Note: this option is only relevant if at least one SSL endpoint is used, and only if the client supports sending the session id. </p>
|
|
<p><a class="anchor" id="CommandLineArangoSslOptions"></a> <hr/>
|
|
<code><b>--server.ssl-options <em>value</em></b></code><hr/>
|
|
This option can be used to set various SSL-related options. Individual option values must be combined using bitwise OR.</p>
|
|
<p>Which options are available on your platform is determined by the OpenSSL version you use. The list of options available on your platform might be retrieved by the following shell command:</p>
|
|
<div class="fragment"><pre class="fragment">> grep "#define SSL_OP_.*" /usr/include/openssl/ssl.h
|
|
|
|
#define SSL_OP_MICROSOFT_SESS_ID_BUG 0x00000001L
|
|
#define SSL_OP_NETSCAPE_CHALLENGE_BUG 0x00000002L
|
|
#define SSL_OP_LEGACY_SERVER_CONNECT 0x00000004L
|
|
#define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x00000008L
|
|
#define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0x00000010L
|
|
#define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER 0x00000020L
|
|
...
|
|
</pre></div><p>A description of the options can be found online in the OpenSSL documentation at: <a href="http://www.openssl.org/docs/ssl/SSL_CTX_set_options.html">http://www.openssl.org/docs/ssl/SSL_CTX_set_options.html</a></p>
|
|
<p>Note: this option is only relevant if at least one SSL endpoint is used. </p>
|
|
<p><a class="anchor" id="CommandLineArangoSslCipherList"></a> <hr/>
|
|
<code><b>--server.ssl-cipher-list <em>cipher-list</em></b></code><hr/>
|
|
This option can be used to restrict the server to certain SSL ciphers only, and to define the relative usage preference of SSL ciphers.</p>
|
|
<p>The format of <em>cipher-list</em> is documented in the OpenSSL documentation.</p>
|
|
<p>To check which ciphers are available on your platform, you may use the following shell command:</p>
|
|
<div class="fragment"><pre class="fragment">> openssl ciphers -v
|
|
|
|
ECDHE-RSA-AES256-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA1
|
|
ECDHE-ECDSA-AES256-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA1
|
|
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
|
|
DHE-DSS-AES256-SHA SSLv3 Kx=DH Au=DSS Enc=AES(256) Mac=SHA1
|
|
DHE-RSA-CAMELLIA256-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(256) Mac=SHA1
|
|
...
|
|
</pre></div><p>The default value for <em>cipher-list</em> is "ALL".</p>
|
|
<p>Note: this option is only relevant if at least one SSL endpoint is used. </p>
|
|
<p><a class="anchor" id="CommandLineArangoDisableAdminInterface"></a><hr/>
|
|
<code><b>--disable-admin-interface <em>value</em></b></code><hr/>
|
|
If this option is specified and <em>value</em> is <code>true</code>, then the HTML administration interface at URL <code><a href="http://server:port/">http://server:port/</a></code> will be disabled and cannot used by any user at all.</p>
|
|
<p><a class="anchor" id="CommandLineArangoDirectory"></a> <hr/>
|
|
<code><b>--database.directory <em>directory</em></b></code><hr/>
|
|
The directory containing the collections and data-files. Defaults to <code>/var/lib/arango</code>.</p>
|
|
<hr/>
|
|
<code><b><em>directory</em></b></code><hr/>
|
|
When using the command line version, you can simply supply the database directory as argument.</p>
|
|
<p><b>Examples</b><br/>
|
|
</p>
|
|
<div class="fragment"><pre class="fragment">> ./arangod /tmp/vocbase
|
|
2012-05-13T12:37:08Z [8145] INFO using built-in JavaScript startup files
|
|
2012-05-13T12:37:08Z [8145] INFO ArangoDB (version 1.x.y) is ready for business
|
|
2012-05-13T12:37:08Z [8145] INFO Have Fun!
|
|
</pre></div> <p><a class="anchor" id="CommandLineArangoMaximalJournalSize"></a> <hr/>
|
|
<code><b>--database.maximal-journal-size <em>size</em></b></code><hr/>
|
|
Maximal size of journal in bytes. Can be overwritten when creating a new collection. Note that this also limits the maximal size of a single document.</p>
|
|
<p>The default is <code>32MB</code>. </p>
|
|
<p><a class="anchor" id="CommandLineArangoWaitForSync"></a> <hr/>
|
|
<code><b>--database.wait-for-sync <em>boolean</em></b></code><hr/>
|
|
Default wait-for-sync value. Can be overwritten when creating a new collection.</p>
|
|
<p>The default is <code>false</code>. </p>
|
|
<p><a class="anchor" id="CommandLineArangoForceSyncShapes"></a> <hr/>
|
|
<code><b>--database.force-sync-shapes <em>boolean</em></b></code><hr/>
|
|
Force syncing of shape data to disk when writing shape information. If turned off, syncing will still happen for shapes of collections that have a waitForSync value of <code>true</code>. If turned on, syncing of shape data will always happen, regards of the value of waitForSync.</p>
|
|
<p>The default is <code>true</code>. </p>
|
|
<p><a class="anchor" id="CommandLineArangoRemoveOnDrop"></a> <hr/>
|
|
<code><b>--database.remove-on-drop <em>flag</em></b></code><hr/>
|
|
If <code>true</code> and you drop a collection, then they directory and all associated datafiles will be removed from disk. If <code>false</code>, then they collection directory will be renamed to <code>deleted-...</code>, but remains on hard disk. To restore such a dropped collection, you can rename the directory back to <code>collection-...</code>, but you must also edit the file <code>parameter.json</code> inside the directory.</p>
|
|
<p>The default is <code>true</code>. </p>
|
|
<p><a class="anchor" id="CommandLineArangoJsGcFrequency"></a> <hr/>
|
|
<code><b>--javascript.gc-frequency <em>frequency</em></b></code><hr/>
|
|
Specifies the frequency (in seconds) for the automatic garbage collection of JavaScript objects. This setting is useful to have the garbage collection still work in periods with no or little numbers of requests. </p>
|
|
<p><a class="anchor" id="CommandLineArangoJsGcInterval"></a> <hr/>
|
|
<code><b>--javascript.gc-interval <em>interval</em></b></code><hr/>
|
|
Specifies the interval (approximately in number of requests) that the garbage collection for JavaScript objects will be run in each thread. </p>
|
|
<h2><a class="anchor" id="CommandLineScheduler"></a>
|
|
Command-Line Options for Communication</h2>
|
|
<p><a class="anchor" id="CommandLineSchedulerThreads"></a> <hr/>
|
|
<code><b>--scheduler.threads <em>arg</em></b></code><hr/>
|
|
An integer argument which sets the number of threads to use in the IO scheduler. The default is 1. </p>
|
|
<p><a class="anchor" id="CommandLineSchedulerBackend"></a> <hr/>
|
|
<code><b>--scheduler.backend <em>arg</em></b></code><hr/>
|
|
The I/O method used by the event handler. The default (if this option is not specified) is to try all recommended backends. This is platform specific. See libev for further details and the meaning of select, poll and epoll. </p>
|
|
<p><a class="anchor" id="CommandLineSchedulerShowIoBackends"></a><hr/>
|
|
<code><b>--show-io-backends</b></code><hr/>
|
|
If this option is specified, then the server will list available backends and exit. This option is useful only when used in conjunction with the option scheduler.backend. An integer is returned (which is platform dependent) which indicates available backends on your platform. See libev for further details and for the meaning of the integer returned. This describes the allowed integers for <code>scheduler.backend</code>, see <a class="el" href="CommandLine.html#CommandLineScheduler">here</a> for details.</p>
|
|
<h2><a class="anchor" id="CommandLineLogging"></a>
|
|
Command-Line Options for Logging</h2>
|
|
<p>There are two different kinds of logs. Human-readable logs and machine-readable logs. The human-readable logs are used to provide an administration with information about the server. The machine-readable logs are used to provide statistics about executed requests and timings about computation steps.</p>
|
|
<h3><a class="anchor" id="CommandLineLoggingGeneral"></a>
|
|
General Logging Options</h3>
|
|
<p><a class="anchor" id="CommandLineLoggingLogFile"></a> <hr/>
|
|
<code><b>--log.file <em>filename</em></b></code><hr/>
|
|
This option allows the user to specify the name of a file to which information is logged. By default, if no log file is specified, the standard output is used. Note that if the file named by <em>filename</em> does not exist, it will be created. If the file cannot be created (e.g. due to missing file privileges), the server will refuse to start. If the specified file already exists, output is appended to that file.</p>
|
|
<p>Use <code>+</code> to log to standard error. Use <code>-</code> to log to standard output. Use <code>""</code> to disable logging to file. </p>
|
|
<p><a class="anchor" id="CommandLineLoggingLogSeverity"></a> <hr/>
|
|
<code><b>--log.severity <em>severity</em></b></code><hr/>
|
|
This parameter provides a set of standard log severities which can be used. The currently accepted <em>severities</em> are:</p>
|
|
<ul>
|
|
<li>exception</li>
|
|
<li>technical</li>
|
|
<li>functional</li>
|
|
<li>development</li>
|
|
<li>human</li>
|
|
<li>all (human and non-human)</li>
|
|
<li>non-human (exception, technical, functional, and development)</li>
|
|
</ul>
|
|
<p>The default is all. </p>
|
|
<p><a class="anchor" id="CommandLineLoggingLogSyslog"></a> <hr/>
|
|
<code><b>--log.syslog <em>arg</em></b></code><hr/>
|
|
If this option is set, then in addition to output being directed to the standard output (or to a specified file, in the case that the command line log.file option was set), log output is also sent to the system logging facility. The <em>arg</em> is the system log facility to use. See syslog for further details.</p>
|
|
<p>The value of <em>arg</em> depends on your syslog configuration. In general it will be <code>user</code>. Fatal messages are mapped to <code>crit</code>, so if <em>arg</em> is <code>user</code>, these messages will be logged as <code>user.crit</code>. Error messages are mapped to <code>err</code>. Warnings are mapped to <code>warn</code>. Info messages are mapped to <code>notice</code>. Debug messages are mapped to <code>info</code>. Trace messages are mapped to <code>debug</code>. </p>
|
|
<h3><a class="anchor" id="CommandLineLoggingHuman"></a>
|
|
Human Readable Logging</h3>
|
|
<p><a class="anchor" id="CommandLineLoggingLogLevel"></a> <hr/>
|
|
<code><b>--log.level <em>level</em></b></code><hr/>
|
|
<hr/>
|
|
<code><b>--log <em>level</em></b></code><hr/>
|
|
Allows the user to choose the level of information which is logged by the server. The argument <em>level</em> is specified as a string and can be one of the values listed below. Note that, fatal errors, that is, errors which cause the server to terminate, are always logged irrespective of the log level assigned by the user. The variant <code>log.level</code> can be used in configuration files, the variant <code>log</code> for command line options.</p>
|
|
<ul>
|
|
<li>fatal: Logs errors which cause the server to terminate.</li>
|
|
</ul>
|
|
<p>Fatal errors generally indicate some inconsistency with the manner in which the server has been coded. Fatal errors may also indicate a problem with the platform on which the server is running. Fatal errors always cause the server to terminate. For example,</p>
|
|
<p><code>2010-09-20T07:32:12Z [4742] FATAL a http server has already been created</code></p>
|
|
<ul>
|
|
<li>error: Logs errors which the server has encountered.</li>
|
|
</ul>
|
|
<p>These errors may not necessarily result in the termination of the server. For example,</p>
|
|
<p><code>2010-09-17T13:10:22Z [13967] ERROR strange log level 'errors', going to 'warning'</code></p>
|
|
<ul>
|
|
<li>warning: Provides information on errors encountered by the server, which are not necessarily detrimental to it's continued operation.</li>
|
|
</ul>
|
|
<p>For example,</p>
|
|
<p><code>2010-09-20T08:15:26Z [5533] WARNING got corrupted HTTP request 'POS?'</code></p>
|
|
<p>Note that, setting the log level to warning will also result in all errors to be logged as well.</p>
|
|
<ul>
|
|
<li>info: Logs information about the status of the server.</li>
|
|
</ul>
|
|
<p>For example,</p>
|
|
<p><code>2010-09-20T07:40:38Z [4998] INFO SimpleVOC ready for business</code></p>
|
|
<p>Note that, setting the log level to info will also result in all errors and warnings to be logged as well.</p>
|
|
<ul>
|
|
<li>debug: Logs all errors, all warnings and debug information.</li>
|
|
</ul>
|
|
<p>Debug log information is generally useful to find out the state of the server in the case of an error. For example,</p>
|
|
<p><code>2010-09-17T13:02:53Z [13783] DEBUG opened port 7000 for any</code></p>
|
|
<p>Note that, setting the log level to debug will also result in all errors, warnings and server status information to be logged as well.</p>
|
|
<ul>
|
|
<li>trace: As the name suggests, logs information which may be useful to trace problems encountered with using the server.</li>
|
|
</ul>
|
|
<p>For example,</p>
|
|
<p><code>2010-09-20T08:23:12Z [5687] TRACE trying to open port 8000</code></p>
|
|
<p>Note that, setting the log level to trace will also result in all errors, warnings, status information, and debug information to be logged as well. </p>
|
|
<p><a class="anchor" id="CommandLineLoggingLogLineNumber"></a> <hr/>
|
|
<code><b>--log.line-number</b></code><hr/>
|
|
Normally, if an human readable fatal, error, warning or info message is logged, no information about the file and line number is provided. The file and line number is only logged for debug and trace message. This option can be use to always log these pieces of information. </p>
|
|
<p><a class="anchor" id="CommandLineLoggingLogPrefix"></a> <hr/>
|
|
<code><b>--log.prefix <em>prefix</em></b></code><hr/>
|
|
This option is used specify an prefix to logged text. </p>
|
|
<p><a class="anchor" id="CommandLineLoggingLogThread"></a> <hr/>
|
|
<code><b>--log.thread</b></code><hr/>
|
|
Whenever log output is generated, the process ID is written as part of the log information. Setting this option appends the thread id of the calling thread to the process id. For example,</p>
|
|
<p><code>2010-09-20T13:04:01Z [19355] INFO ready for business</code></p>
|
|
<p>when no thread is logged and</p>
|
|
<p><code>2010-09-20T13:04:17Z [19371-18446744072487317056] ready for business</code></p>
|
|
<p>when this command line option is set. </p>
|
|
<p><a class="anchor" id="CommandLineLoggingLogFilter"></a> <hr/>
|
|
<code><b>--log.filter <em>arg</em></b></code><hr/>
|
|
For debug and trace messages, only log those messages occurring in the file <em>arg</em>. </p>
|
|
<h3><a class="anchor" id="CommandLineLoggingMachine"></a>
|
|
Maschine Readable Logging</h3>
|
|
<p><a class="anchor" id="CommandLineLoggingLogApplication"></a> <hr/>
|
|
<code><b>--log.application <em>name</em></b></code><hr/>
|
|
Specifies the <em>name</em> of the application which should be logged if this item of information is to be logged. </p>
|
|
<p><a class="anchor" id="CommandLineLoggingLogFacility"></a> <hr/>
|
|
<code><b>--log.facility <em>name</em></b></code><hr/>
|
|
Specifies the name of the server instance which should be logged if this item of information is to be logged. </p>
|
|
<p><a class="anchor" id="CommandLineLoggingLogFormat"></a> <hr/>
|
|
<code><b>--log.format <em>format</em></b></code><hr/>
|
|
<p>If the log output is machine (or machine readable), then this parameter allows you to configure the format of the output. The following placeholders are available:</p>
|
|
<ul>
|
|
<li><code>%A</code> the application name</li>
|
|
<li><code>%C</code> the category which caused the output (e.g. FATAL, ERROR, WARNING etc.)</li>
|
|
<li><code>%E</code> extras</li>
|
|
<li><code>%F</code> facility</li>
|
|
<li><code>%H</code> the host name to log</li>
|
|
<li><code>%K</code> task</li>
|
|
<li><code>%M</code> message identifier</li>
|
|
<li><code>%P</code> peg</li>
|
|
<li><code>%S</code> severity</li>
|
|
<li><code>%T</code> date/time stamp</li>
|
|
<li><code>%U</code> measure unit</li>
|
|
<li><code>%V</code> measure value</li>
|
|
<li><code>%Z</code> date/time stamp in GMT (zulu)</li>
|
|
<li><code>%f</code> source code module</li>
|
|
<li><code>%l</code> source code line</li>
|
|
<li><code>%m</code> source code method</li>
|
|
<li><code>%p</code> pid</li>
|
|
<li><code>%s</code> pthread identifier</li>
|
|
<li><code>%t</code> tid</li>
|
|
<li><code>%u</code> user identifier</li>
|
|
<li><code>%x</code> the actual text</li>
|
|
</ul>
|
|
<p>The default format is</p>
|
|
<p><code>%Z;1;%S;%C;%H;%p-%t;%F;%A;%f;%m;%K;%f:%l;%x;%P;%u;%V;%U;%E</code> </p>
|
|
<p><a class="anchor" id="CommandLineLoggingLogHostName"></a> <hr/>
|
|
<code><b>--log.hostname <em>name</em></b></code><hr/>
|
|
Specifies the <em>name</em> of the operating environment (the "hostname") which should be logged if this item of information is to be logged. Note that there is no default hostname. </p>
|
|
<h2><a class="anchor" id="CommandLineRandom"></a>
|
|
Command-Line Options for Random Numbers</h2>
|
|
<p><a class="anchor" id="CommandLineRandomGenerator"></a> <hr/>
|
|
<code><b>--random.generator <em>arg</em></b></code><hr/>
|
|
The argument is an integer (1,2,3 or 4) which sets the manner in which random numbers are generated. The default method (3) is to use the a non-blocking random (or pseudorandom) number generator supplied by the operating system. Specifying an argument of 2, uses a blocking random (or pseudorandom) number generator. Specifying an argument 1 sets a pseudorandom number generator using an implication of the Mersenne Twister MT19937 algorithm. Algorithm 4 is a combination of the blocking random number generator and the Mersenne Twister.</p>
|
|
<hr/>
|
|
<code><b>--random.no-seed</b></code><hr/>
|
|
By default, the random generator is seeded. Setting this option causes the random number generator not to be seeded. (Seeding the random number generator only occurs if the generator is set to Mersenne, refer to random.generator for details.) </p>
|
|
</div></div>
|
|
</div></body></html>
|