RocksDB起源于Facebook的实验室项目,实现了一个高性能的快速存储器,是基于C++编写的key value数据库,很多软件都是采用内置rocksdb的方式运行,所以需要我们提前安装rocksdb的库,下面主要叙述一下rocksdb的源码编译过程,

    github仓库:https://github.com/facebook/rocksdb/

    操作系统:CentOS 7.x  gcc 4.8

    编译前依赖:cmake,gflags,liblz4

    其中gflags可以参考上一篇文章安装,注意务必打开动态库编译的选项,lz4如果是centos则直接使用yum安装即可:

yum -y install lz4-devel

    准备好之后开始安装rocksdb,目前最新稳定版是:5.18.3

    解压安装包并创建编译目录:

tar -xvzf rocksdb-5.18.3.tar.gz
cd rocksdb-5.18.3/
mkdir build
cd build

    然后开始编译源代码:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rocksdb ..
make
make install

    这里将rocksdb安装到/usr/local/rocksdb独立目录,方便进行管理

    这这里rocksdb就算安装成功了,比如我们想使用python操作rocksdb,需要模块python-rocksdb,而这个模块就需要依赖于刚才编译好的rocksdb作为基础库,所以需要设置头文件和lib环境变量,提供python-rocksdb模块编译和运行时使用:

export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/rocksdb/include/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/rocksdb/lib64/
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/rocksdb/lib64/

    上面具体的变量导入在python-rocksdb文档上也有描述,这些变量可以添加至profile,后续无需再导入,然后可以安装python-rocksdb模块:

pip install python-rocksdb

    安装之后如果import rocksdb没问题说明成功了,注意导入的时候也需要gflags依赖,不要忘了加到LD_LIBRARY_PATH

    以上就是rocksdb以及python-rocksdb的安装,网上很多文章都表示有坑,其实是安装的过程不对,如果有问题可以留言交流.