rocksdb 安装全过程 & 一些问题解决方法

前言

Rocksdb是leveldb,基于key-value,也可以将数据长期存储的数据库。关于rocksdb的详细描写。这位大佬写的很是详细,而且网上的资源很多,本文主要讲述如何安装rocksdb。

安装前准备

我的测试用机是centos7

1. 安装C++11,因为rocksdb是完全基于C++进行编写的(不仅又一次感受到了C++的强大 d=====( ̄▽ ̄*)b)

yum install gcc48-c++

g++ --version

 

2.安装gflags.

git clone https://github.com/gflags/gflags.git

cd gflags

./configure && make && make install

或者:

yum install gflags-level

yum install gflags

3.安装snappy,zlib,bzip2,lz4,ASAN,zstd

yum install xxxxxx(或者自己亲自下载安装包,然后直接./configure && make && make instal.或者ccmake/cmake等方法安装)

开始安装rocksdb

(1)编译静态库,获得librocksdb.a

make static_lib

make install-static

(2)编译动态库,获得librocksdb.so

make shared_lib

make install-shared

*(3) 如果嫌命令太多,可以进行以下操作:

make all

等待稍微有点长的时间后即可安装完毕。

(4)安装完成,注意务必将静态动态库都放在/usr/local/lib或者/usr/lib中,将/include/rocksdb的所有头文件也放到/usr/include/rockasdb或者/usr/local/include/rocksdb中

如果嫌麻烦,直接一个命令make执行完所有的命令,这时候/rocksdb中就会有一个二进制文件db_bench(make编译过程中可能需要很多的时间,因此你可以先做点其他事情。)这时候为了安全起见,检查下/usr/lib, /usr/local/lib, 是否含有生成的librocksdb.a,librocksdb.so,以及他们的链接文件librocksdb.so.5.xx.x , librocksdb.so.5.xx  ,librocksdb.so.5 。例如如果你把这些库放在了/usr/local/lib中了,最后在环境变量上加上

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

source一下就可以了。

 

运行测试:

在rocksdb这个文件夹的工作目录中,执行如下命令:

export DB_DIR=/raid/db

export WAL_DIR=/raid/wal

export TEMP=/raid/tmp

export OUTPUT_DIR=/raid/output

 

./tools/benchmark.sh bulkload

最后一行是进行压力测试的命令行,这个工具在/tools里面,既然压力测试都可以了,那说明安装肯定没问题了。

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Rocksdb)