You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by al...@apache.org on 2019/11/12 16:51:09 UTC

[kudu] 01/03: docs: additional instructions for installing memkind from source

This is an automated email from the ASF dual-hosted git repository.

alexey pushed a commit to branch branch-1.11.x
in repository https://gitbox.apache.org/repos/asf/kudu.git

commit 4f21110d57391e452e9cde787cfc091b608b1347
Author: Adar Dembo <ad...@cloudera.com>
AuthorDate: Sat Nov 9 14:59:01 2019 -0800

    docs: additional instructions for installing memkind from source
    
    This is often necessary as most of our supported distros include a memkind
    that's too old. There are some complications, however:
    - Using the default prefix (/usr/local) means Kudu won't find the library.
    - Even after installing to /usr, ldconfig must be run to regenerate the
      cache of dynamic libraries in "trusted locations" like /usr/lib.
    
    Change-Id: I7d52d02ad87a27e5fef5ba5c0ab8932128a29762
    Reviewed-on: http://gerrit.cloudera.org:8080/14683
    Tested-by: Kudu Jenkins
    Reviewed-by: Alexey Serbin <as...@cloudera.com>
    (cherry picked from commit b97c2f6ca78097186c3c77e759cf43bab966cc7b)
      Conflicts:
        docs/installation.adoc
    Reviewed-on: http://gerrit.cloudera.org:8080/14696
    Reviewed-by: Grant Henke <gr...@apache.org>
---
 docs/installation.adoc        | 60 +++++++++++++++++++++++++++++++++++++++++++
 src/kudu/cfile/block_cache.cc |  2 +-
 2 files changed, 61 insertions(+), 1 deletion(-)

diff --git a/docs/installation.adoc b/docs/installation.adoc
index f7dc39f..3497501 100644
--- a/docs/installation.adoc
+++ b/docs/installation.adoc
@@ -109,6 +109,26 @@ $ sudo yum install -y scl-utils ${DTLS_RPM}
 $ sudo yum install -y devtoolset-3-toolchain
 ----
 
+. Optional: If support for Kudu's NVM (non-volatile memory) block cache is
+desired, install the memkind library.
++
+----
+$ sudo yum install memkind
+----
++
+If the memkind package provided with the Linux distribution is too old (1.8.0 or
+newer is required), build and install it from source.
++
+----
+$ sudo yum install numactl-libs numactl-devel
+$ git clone https://github.com/memkind/memkind.git
+$ cd memkind
+$ ./build.sh --prefix=/usr
+$ sudo yum remove memkind
+$ sudo make install
+$ sudo ldconfig
+----
+
 . Optional: Install some additional packages, including ruby, if you plan to build documentation.
 +
 ----
@@ -239,6 +259,26 @@ $ sudo apt-get install autoconf automake curl flex g++ gcc gdb git \
   openjdk-8-jdk openssl patch pkg-config python rsync unzip vim-common
 ----
 
+. Optional: If support for Kudu's NVM (non-volatile memory) block cache is
+desired, install the memkind library.
++
+----
+$ sudo apt-get install libmemkind0
+----
++
+If the memkind package provided with the Linux distribution is too old (1.8.0 or
+newer is required), build and install it from source.
++
+----
+$ sudo apt-get install libnuma1 libnuma-dev
+$ git clone https://github.com/memkind/memkind.git
+$ cd memkind
+$ ./build.sh --prefix=/usr
+$ sudo apt-get remove memkind
+$ sudo make install
+$ sudo ldconfig
+----
+
 . Optional: Install some additional packages, including ruby, if you plan to build documentation.
 +
 ----
@@ -356,6 +396,26 @@ $ sudo zypper install autoconf automake curl cyrus-sasl-devel \
   pkg-config python rsync unzip vim
 ----
 
+. Optional: If support for Kudu's NVM (non-volatile memory) block cache is
+desired, install the memkind library.
++
+----
+$ sudo zypper install memkind
+----
++
+If the memkind package provided with the Linux distribution is too old (1.8.0 or
+newer is required), build and install it from source.
++
+----
+$ sudo zypper install numactl-libs numactl-devel
+$ git clone https://github.com/memkind/memkind.git
+$ cd memkind
+$ ./build.sh --prefix=/usr
+$ sudo zypper remove memkind
+$ sudo make install
+$ sudo ldconfig
+----
+
 . Clone the Git repository and change to the new `kudu` directory.
 +
 [source,bash]
diff --git a/src/kudu/cfile/block_cache.cc b/src/kudu/cfile/block_cache.cc
index c00bee1..bf93703 100644
--- a/src/kudu/cfile/block_cache.cc
+++ b/src/kudu/cfile/block_cache.cc
@@ -55,7 +55,7 @@ DEFINE_string(block_cache_type, "DRAM",
               "Valid choices are 'DRAM' or 'NVM'. DRAM, the default, "
               "caches data in regular memory. 'NVM' caches data "
               "in a memory-mapped file using the memkind library. To use 'NVM', "
-              "libmemkind 1.6.0 or newer must be available on the system; "
+              "libmemkind 1.8.0 or newer must be available on the system; "
               "otherwise Kudu will crash.");
 
 using strings::Substitute;