鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

RocksDB编译安装

本章节以RocksDB 8.3.3为例,主要介绍如何编译与安装RocksDB。

  1. 安装依赖。
    yum install -y cmake gcc gcc-c++ gflags-devel libstdc++-devel zstd-devel
  2. 获取RocksDB源码。
    yum install git -y
    git config --global http.sslVerify false
    git clone https://gitee.com/kunpeng_compute/rocksdb.git
    cd rocksdb
    git checkout rocksdb-8.3.3-kae_zstd
  3. 可选:单元测试。
    sh build.sh UTONLY

    执行成功如下图所示:

  4. 以Release模式编译RocksDB。
    sh build.sh
    • build.sh默认编译Release版本,可追加指定编译模式,指定编译模式为Debug/RelWithDebInfo/Release,如执行以下命令。
      sh build.sh Release
    • build.sh默认使能全部鲲鹏加速特性,其中包括KSAL、KAEZstd算法加速,如果不需要相关特性,可执行以下命令追加选项以关闭鲲鹏加速特性。
      sh build.sh Release DISABLE_KSAL DISABLE_KAEZSTD
      • DISABLE_KSAL表示不使能KSAL算法加速。
      • DISABLE_KAEZSTD表示不使能KAEZstd算法加速。
  5. 编译完成后,执行以下指令查看是否使能相关特性。
    ldd build/librocksdb.so.8.3.3
    • 回显包含以下信息表示已使能KSAL鲲鹏加速算法库。

    • 回显包含以下信息表示已使能KAEZstd加速特性。

  6. 可选:性能测试。
    cd script
    sh test_perf_all.sh

    执行结束以后,可在“rocksdb/test_data”目录下查看性能数据。

    全量用例执行需10小时左右,可通过修改第8行kv大小,第13行db数量,调整用例执行时间或修改用例。默认读写路径为“/mnt/rocksdb_data/test”,如需修改可编辑脚本test_perf_all.sh第二行basedir至指定路径,执行前请确保该路径存在。

    如需将设备挂载至指定路径,执行下述指令,其中nvme0n1根据具体设备名称修改。

    mkfs.ext4 /dev/nvme0n1
    mount /dev/nvme0n1 /mnt/rocksdb_data/test
  7. 安装RocksDB。
    cd ../build
    make install