accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [2/3] accumulo git commit: ACCUMULO-3308 Expand docs on configuration of IMM.
Date Mon, 08 Dec 2014 03:09:39 GMT
ACCUMULO-3308 Expand docs on configuration of IMM.

Expand on how the minc threshold, IMM size and WAL size
must be altered together. Additionally, mention how
the HDFS block size for the WAL should be increased to 2GB
when the WAL size is increased over 2GB.


Branch: refs/heads/master
Commit: 359f851e57e0a5765352988e2db5c495ffe8d552
Parents: a3267d3
Author: Josh Elser <>
Authored: Sun Dec 7 21:44:54 2014 -0500
Committer: Josh Elser <>
Committed: Sun Dec 7 21:44:54 2014 -0500

 .../chapters/administration.tex                 | 30 ++++++++++++++++++++
 1 file changed, 30 insertions(+)
diff --git a/docs/src/main/latex/accumulo_user_manual/chapters/administration.tex b/docs/src/main/latex/accumulo_user_manual/chapters/administration.tex
index d524def..e326cb0 100644
--- a/docs/src/main/latex/accumulo_user_manual/chapters/administration.tex
+++ b/docs/src/main/latex/accumulo_user_manual/chapters/administration.tex
@@ -143,6 +143,8 @@ speed up performance by utilizing the memory space of the native operating
 native map also avoids the performance implications brought on by garbage collection
 in the JVM by causing it to pause much less frequently.
 32-bit and 64-bit Linux and Mac OS X versions of the native map can be built
 from the Accumulo bin package by executing
 \texttt{\$ACCUMULO\_HOME/bin/build\_native\}. If your system's
@@ -164,6 +166,34 @@ target directory, the tablet server may not be able to find it. The system
 also locate the native maps shared library by setting LD\_LIBRARY\_PATH
 (or DYLD\_LIBRARY\_PATH on Mac OS X) in \texttt{\$ACCUMULO\_HOME/conf/}.
+As mentioned, Accumulo will use the native libraries if they are found in the expected
+location and if it is not configured to ignore them. Using the native maps over JVM
+Maps nets a noticable improvement in ingest rates; however, certain configuration
+variables are important to modify when increasing the size of the native map.
+To adjust the size of the native map, increase the value of \texttt{tserver.memory.maps.max}.
+By default, the maximum size of the native map is 1GB. When increasing this value, it is
+also important to adjust the values of \texttt{table.compaction.minor.logs.threshold} and
+\texttt{tserver.walog.max.size}. \texttt{table.compaction.minor.logs.threshold} is the maximum
+number of write-ahead log files that a tablet can reference before they will be automatically
+minor compacted. \texttt{tserver.walog.max.size} is the maximum size of a write-ahead log.
+The maximum size of the native maps for a server should be less than the product
+of the write-ahead log maximum size and minor compaction threshold for log files:
+\(\$table.compaction.minor.logs.threshold * \$tserver.walog.max.size >= \$tserver.memory.maps.max\)
+This formula ensures that minor compactions won't be automatically triggered before the native
+maps can be completely saturated.
+Subsequently, when increasing the size of the write-ahead logs, it can also be important
+to increase the HDFS block size that Accumulo uses when creating the files for the write-ahead
+This is controlled via \texttt{tserver.wal.blocksize}. A basic recommendation is that when
+\texttt{tserver.walog.max.size} is larger than 2GB in size, set \texttt{tserver.wal.blocksize}
+to 2GB.
 \subsection{Cluster Specification}
 On the machine that will serve as the Accumulo master:

View raw message