linux下rocksdb的编译安装

目录

1.cmake安装

2.直接make安装


自己是用的文章中第二种不用cmake的方法编译成功的,然后把库文件和头文件拷贝到自己的工程中即可, 库文件和头文件都要拷贝,另外拷贝库文件的时候可以用cp -d,这样拷贝完之后软连接不会失效。

1.cmake安装

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就算安装成功了,比如我们想使用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的安装,网上很多文章都表示有坑,其实是安装的过程不对,如果有问题可以留言交流. 

2.直接make安装

 除了上面的方式安装外还可以按照下面的不用cmake的方式安装:

    首先安装必要依赖:

yum install gflags-devel
yum install snappy-devel
yum install zlib-devel
yum install bzip2-devel  
yum install libstdc++-devel

上面这些包是编译必须用到的,然后对于客户端使用可能还需要下面的包,否则会提示ld的错误:

yum install lz4-devel
yum install libzstd-devel

尽量在编译之前把上面这些包都安装一下,然后克隆源码或者下载仓库的源码再上传解压:

git clone https://github.com/facebook/rocksdb.git
cd rocksdb

 然后编译,这里正常只需要根据需要编译动态库或者静态库即可,不用全部编译:

make shared_lib
# 静态库编译
make static_lib

我这里使用动态库进行编译,编译完之后安装:

make install-shared PREFIX=/usr/local/rocksdb
# 静态库安装
make install-static PREFIX=/usr/local/rocksdb

同样我这里也是用动态库的方式安装,安装大小静态库比动态库要大很多,PREFIX指定安装的位置,默认是/usr/local,这样rocksdb就安装上了,然后同样需要指定一下运行时的目录:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/rocksdb/lib

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值