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;