Updated Branches: refs/heads/1.5.1-SNAPSHOT 032099e8b -> 0bc311b1a
ACCUMULO-1428 Documenting native maps Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/0bc311b1 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/0bc311b1 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/0bc311b1 Branch: refs/heads/1.5.1-SNAPSHOT Commit: 0bc311b1a6efe4e69c4685254604c0f078f12598 Parents: 032099e Author: Corey J. Nolet <cjno...@gmail.com> Authored: Fri Sep 20 22:52:52 2013 -0400 Committer: Corey J. Nolet <cjno...@gmail.com> Committed: Fri Sep 20 23:27:43 2013 -0400 ---------------------------------------------------------------------- .../chapters/administration.tex | 24 ++++++++++++++++++++ 1 file changed, 24 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/0bc311b1/docs/src/main/latex/accumulo_user_manual/chapters/administration.tex ---------------------------------------------------------------------- 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 147e522..cc7697c 100644 --- a/docs/src/main/latex/accumulo_user_manual/chapters/administration.tex +++ b/docs/src/main/latex/accumulo_user_manual/chapters/administration.tex @@ -98,6 +98,30 @@ machines to allow them to use more heap space. If you are running these on the same machine on a small cluster, likewise make sure their heap space settings fit within the available memory. +\subsection{Native Map} + +The tablet server uses a data structure called a MemTable to store sorted key/value +pairs in memory when they are first received from the client. When a minor compaction +occurs, this data structure is written to HDFS. The MemTable will default to using +memory in the JVM but a JNI version, called the native map, can be used to significantly +speed up performance by utilizing the memory space of the native operating system. The +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 versions of the native map ship with the Accumulo dist package. +For other operating systems, the native map can be built from the codebase in two ways- +from maven or from the Makefile. + +\begin{enumerate} +\item{Build from maven using the following command: \texttt{mvn clean package -Pnative.}} +\item{Build from the c++ source by running \texttt{make} in the \texttt{\$ACCUMULO\_HOME/server/src/main/c++} directory.} +\end{enumerate} + +After building the native map from the source, you will find the artifact in +\texttt{\$ACCUMULO\_HOME/lib/native.} Upon starting up, the tablet server will look +in this directory for the map library. If the file is renamed or moved from its +target directory, the tablet server may not be able to find it. + \subsection{Cluster Specification} On the machine that will serve as the Accumulo master: