Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Docs: Background server instances.

  • Loading branch information...
commit ffeee870536ea245748be0b5622f6ae37c3b2ca1 1 parent addb35a
@kimballa kimballa authored
Showing with 60 additions and 16 deletions.
  1. +0 −10 TODO
  2. +3 −0  etc/flumebase-env.sh.template
  3. +57 −6 src/docbkx/UserGuide.xml
View
10 TODO
@@ -1,10 +1,5 @@
- -- BINARY: Need tests for equality, comparison operators
- -- What does ByteBuffer.equals() do? Should we be using a separate array
- equality comparator? Ensure that we're not coercing all the way to string for this.
-
-
most important new features:
-- range intervals over rows, not just time
@@ -14,11 +9,6 @@ most important new features:
-- JSON event input format
-- multi-threading, distribution, scalability
- -- documentation debt:
- bin/flumebase start/stop for server
- FLUMEBASE_PID_DIR, FLUMEBASE_LOG_DIR
- etc/flumebase-env.sh
-
Types:
-- Add CHARACTER type which is a single char.
View
3  etc/flumebase-env.sh.template
@@ -52,5 +52,8 @@ export FLUMEBASE_OPTS=${FLUMEBASE_OPTS:-}
export FLUMEBASE_CLASSPATH=${FLUMEBASE_CLASSPATH:-}
# Control maximum memory consumption of a FlumeBase server. Default 1000 MB.
+# A JVM argument of the form "-Xmx${FLUMEBASE_HEAP_SIZE}m" is included on
+# the FlumeBase JVM command line, and does not need to be specified in
+# $FLUMEBASE_OPTS.
export FLUMEBASE_HEAP_SIZE=${FLUMEBASE_HEAP_SIZE:-1000}
View
63 src/docbkx/UserGuide.xml
@@ -252,7 +252,7 @@ $ <userinput>tar vzxf flumebase-(version).tar.gz</userinput>
be reconfigured to point to an existing Flume deployment.
</para>
- <section>
+ <section id="server.conf">
<title>Server configuration</title>
<para>
Install FlumeBase on a server where the query execution engine should
@@ -286,6 +286,17 @@ $ <userinput>tar vzxf flumebase-(version).tar.gz</userinput>
</tbody>
</table>
<para>
+ A set of environment variables also govern how FlumeBase locates
+ various directories, and how FlumeBase instantiates its JVM. Default
+ values for these can be set in a file named <filename>etc/flumebase-env.sh</filename>.
+ A template version of this file is available for your convenience.
+ The FlumeBase server will use a pidfile to ensure that multiple instances
+ of the server do not contend for open ports, etc. The pidfile will be placed
+ in the directory identified by <constant>$FLUMEBASE_PID_DIR</constant>.
+ A FlumeBase server running in the background will write to a log file
+ in the directory identified by <constant>$FLUMEBASE_LOG_DIR</constant>.
+ </para>
+ <para>
Finally, to run in distributed mode, the Flume master node needs to
register the FlumeBase plugin. You should copy the
<filename>flumebase-(version).jar</filename> file from the FlumeBase
@@ -303,11 +314,7 @@ $ <userinput>tar vzxf flumebase-(version).tar.gz</userinput>
You may need to restart the Flume master process for this to take effect.
</para>
<para>
- After a server is configured, you may start a server instance by running:
- <literal>bin/flumebase server</literal> from the directory where FlumeBase
- was installed. To shut down a running server, see <xref
- linkend="flumebase.client.connecting" />. Killing a server process with
- <literal>^C</literal> is not recommended.
+ To learn how to start the server, see <xref linkend="server" />.
</para>
</section>
<section>
@@ -1573,6 +1580,50 @@ sum ((var('a, constraints={TYPECLASS_NUMERIC})) -> var('a, constraints={TYPECLAS
</section>
</section>
</section>
+ <section id="server">
+ <title>The FlumeBase server</title>
+ <para>
+ The FlumeBase server allows a server process to handle the execution of
+ queries without requiring a long-lived shell session. FlumeBase shell
+ instances can connect to local or remote server instances to submit
+ queries. Before running a FlumeBase server, you should read
+ <xref linkend="server.conf" />.
+ </para>
+ <section>
+ <title>Starting a foreground server</title>
+ <para>
+ The FlumeBase server can be started as a foreground process by
+ running <literal>bin/flumebase server</literal> from the directory
+ where FlumeBase was installed.
+ </para>
+ </section>
+ <section>
+ <title>Starting a daemon server</title>
+ <para>
+ A FlumeBase server can also be run in the background, by
+ running <literal>bin/flumebase start</literal>. Log output
+ will be captured in a log file in <literal>$FLUMEBASE_LOG_DIR</literal>
+ (default: <literal>$FLUMEBASE_HOME/logs</literal>). If the
+ server is acting problematic, running <literal>bin/flumebase start -debug</literal>
+ will enable debug logging.
+ </para>
+ </section>
+ <section>
+ <title>Stopping the server</title>
+ <para>
+ A running server may be stopped from within the FlumeBase shell.
+ To learn how, see <xref linkend="flumebase.client.connecting" />.
+ </para>
+ <para>
+ To shutdown the server from the command line, run
+ <literal>bin/flumebase stop</literal>. This may take a few seconds,
+ as FlumeBase will send a set of instructions to the Flume master
+ to restore its flows to their original state, and "unplug" the running
+ queries. A hard kill (e.g., <literal>kill -9</literal>) of the FlumeBase
+ server is not recommended.
+ </para>
+ </section>
+ </section>
<section>
<title>The FlumeBase shell</title>
<para>
Please sign in to comment.
Something went wrong with that request. Please try again.