RocksDB 官方安装指南中文翻译版

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 去链接以下的压缩库:

    • zlib - 一个用于数据压缩的库。
    • bzip2 - 一个用于数据压缩的库。
    • lz4 - 一个用于数据极速压缩的库。
    • snappy - 一个用于数据快速压缩的库。
    • zstandard - 快速实时压缩算法。
  • 所有我们的工具都依赖于:

    • 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。
  • 运行 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_LITEIOS_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"
      
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页