RocksDB 官方安装指南中文翻译版
RocksDB 官方安装指南:https://github.com/facebook/rocksdb/blob/master/INSTALL.md。我只是简单做了一个翻译哈,换句话说,我不生产文档,我只是官方文档的翻译工。英语水平有限,有些句子意思大概明白,但是翻译过来就不一定准确,如果发现不太准确的地方,请及时指明。编译方式注意:如果你打算在生产环境中使用 RocksDB,请不要使用 make
RocksDB 官方安装指南:https://github.com/facebook/rocksdb/blob/master/INSTALL.md。
我只是简单做了一个翻译哈,换句话说,我不生产文档,我只是官方文档的翻译工。英语水平有限,有些句子意思大概明白,但是翻译过来就不一定准确,如果发现不太准确的地方,请及时指明。
编译方式
注意:如果你打算在生产环境中使用 RocksDB,请不要使用 make 或者是 make all 的方式进行编译。因为这两种方式会编译出 debug 模式的 RocksDB,性能要差很多。
RocksDB 正常是可以在不安装任何依赖的情况下编译的,但是我们推荐安装一些压缩库(见下文)。当然,新版本的 gcc/clang 还是需要的,因为使用到了 C++11 的特性。
以下是一些编译 RocksDB 的选择:
-
【推荐】
make static_lib将会编译出一个 RocksDB 的静态库 librocksdb.a。这个静态库是 release 模式的。 -
make shared_lib将会编译出一个 RocksDB 的动态库 librocksdb.so。这个动态库是 release 模式的。 -
make check将会编译并运行所有的单元测试,得到的 RocksDB 是 debug 模式的。 -
make all将会编译出一个静态库、所有的工具和单元测试。我们的工具依赖 gflags,所以在运行make all之前必须先安装 gflags。这种方式得到的 RocksDB 是 debug 模式的,不要在生产环境中使用make all编译出来的二进制包。 -
默认情况下,我们编译的二进制包会针对你编译所在的平台进行优化(
-march=native或相同的东西),如果你的 CPU 支持 SSE4.2 指令集的话也会自动开启。当使用USE_SSE=1 make static_lib或者cmake -DFORCE_SSE42=ON去编译,且 CPU 还不支持 SSE4.2 指令集的话,就会显示一条警告信息。如果你想要一个便捷式的二进制包,就在 make 命令前添加PORTABLE=1,比如说PORTABLE=1 make static_lib。
需要的依赖
-
你可以让 RocksDB 去链接以下的压缩库:
-
所有我们的工具都依赖于:
- gflags - 一个命令行标志解析库。你可以在不安装这个库的情况下正常编译 RocksDB。
-
如果你希望构建 RocksJava 静态包,那么用于编译 Snappy 的 cmake 是必须的。
支持的平台
-
Linux - Ubuntu
- 更新 gcc 的版本到 4.8 或更高以获得 C++11 的特性。
- 安装 gflags。首先尝试:
sudo apt-get install libgflags-dev,如果不管用,而且你用的是 Ubuntu,这里有一份非常赞的指南:(http://askubuntu.com/questions/312173/installing-gflags-12-04)。 - 安装 snappy。通常这一步很简单:
sudo apt-get install libsnappy-dev。 - 安装 zlib。尝试:
sudo apt-get install zlib1g-dev。 - 安装 bzip2:
sudo apt-get install libbz2-dev。 - 安装 lz4:
sudo apt-get install liblz4-dev。 - 安装 zstandard:
sudo apt-get install libzstd-dev。
-
Linux - CentOS / RHEL
-
更新 gcc 的版本到 4.8 或更高以获得 C++11 的特性:
yum install gcc48-c++。 -
安装 gflags:
git clone https://github.com/gflags/gflags.git cd gflags git checkout v2.0 ./configure && make && sudo make install**注意:**一旦安装完成,请把 gflags 的头文件路径添加到环境变量
CPATH中,还要把库文件路径添加到LIBRARY_PATH。如果使用默认的设置进行安装,头文件路径就是/usr/local/include,库文件路径就是/usr/local/lib。 -
安装 snappy:
sudo yum install snappy snappy-devel -
安装 zlib:
sudo yum install zlib zlib-devel -
安装 bzip2:
sudo yum install bzip2 bzip2-devel -
安装 lz4:
sudo yum install lz4-devel -
安装 ASAN (调试的可选项):
sudo yum install libasan -
安装 zstandard:
wget https://github.com/facebook/zstd/archive/v1.1.3.tar.gz mv v1.1.3.tar.gz zstd-1.1.3.tar.gz tar zxvf zstd-1.1.3.tar.gz cd zstd-1.1.3 make && sudo make install
-
-
OS X
- 安装支持 C++11 特性的 C++ 编译器:
- 更新 XCode:运行
xcode-select --install(或者通过 XCode 的应用设置去安装)。 - 通过 homebrew 去安装。
- 如果你是第一次在 MacOS 上做开发,那还是需要在命令行中运行
xcode-select --install。 - 运行
brew tap homebrew/versions; brew install gcc48 --use-llvm去安装 4.8 或更高版本的 gcc。
- 如果你是第一次在 MacOS 上做开发,那还是需要在命令行中运行
- 更新 XCode:运行
- 安装支持 C++11 特性的 C++ 编译器:
-
运行
brew install rocksdb。 -
FreeBSD (11.01)
-
你可以通过 Ports 系统去安装 RocksDB(
cd /usr/ports/databases/rocksdb && make install),也可以根据下面的详细操作安装依赖,然后使用源码编译安装:-
安装 RocksDB 的依赖:
export BATCH=YES cd /usr/ports/devel/gmake && make install cd /usr/ports/devel/gflags && make install cd /usr/ports/archivers/snappy && make install cd /usr/ports/archivers/bzip2 && make install cd /usr/ports/archivers/liblz4 && make install cd /usr/ports/archivesrs/zstd && make install cd /usr/ports/devel/git && make install -
安装 RocksJava 的依赖(可选):
export BATCH=yes cd /usr/ports/java/openjdk7 && make install -
从源码构建 RocksDB:
cd ~ git clone https://github.com/facebook/rocksdb.git cd rocksdb gmake static_lib -
从源码构建 RocksJava(可选):
cd rocksdb export JAVA_HOME=/usr/local/openjdk7 gmake rocksdbjava
-
-
-
OpenBSD (6.3 及以上)
-
由于目前 RocksDB 还不能使用 ports 去构建,所以你只能自己构建了:
-
安装 RocksDB 的依赖:
pkg_add gmake gflags snappy bzip2 lz4 zstd git jdk bash findutils gnuwatch -
使用源码构建 RocksDB:
cd ~ git clone https://github.com/facebook/rocksdb.git cd rocksdb gmake static_lib
-
-
使用源码构建 RocksJava(可选):
cd rocksdb export JAVA_HOME=/usr/local/jdk-1.8.0 export PATH=$PATH:/usr/local/jdk-1.8.0/bin gmake rocksdbjava
-
-
iOS
- 运行:
TARGET_OS=IOS make static_lib。如果项目中使用了这个 IOS 版的 RocksDB 库,需要确保ROCKSDB_LITE和IOS_CROSS_COMPILE两个宏指令已经定义好了。
- 运行:
-
Windows
- 为了在 MS Visual Studio 13 上进行编译,你需要更新 4 个安装包。
- 参考 CMakeLists.txt 中的指南进行操作。
- 或者通过 vcpkg 进行安装。
- 运行
vcpkg install rocksdb:x64-windows。
- 运行
-
AIX 6.1
-
使用 gcc 安装 AIX 工具箱。
-
添加以下的环境变量:
export PORTABLE=1 export CC=gcc export AR="ar -X64" export EXTRA_ARFLAGS=-X64 export EXTRA_CFLAGS=-maix64 export EXTRA_CXXFLAGS=-maix64 export PLATFORM_LDFLAGS="-static-libstdc++ -static-libgcc" export LIBPATH=/opt/freeware/lib export JAVA_HOME=/usr/java8_64 export PATH=/opt/freeware/bin:$PATH
-
-
Solaris Sparc
-
安装 GCC 4.8.2 或更高版本。
-
添加以下的环境变量:
export CC=gcc export EXTRA_CFLAGS=-m64 export EXTRA_CXXFLAGS=-m64 export EXTRA_LDFLAGS=-m64 export PORTABLE=1 export PLATFORM_LDFLAGS="-static-libstdc++ -static-libgcc"
-
更多推荐

所有评论(0)