RocksDB和db_bench安装与配置
Start from a new Ubuntu OS.
Introduction
After remaking N times, I made this blog finally.
Let’s start from a new Ubuntu now.
Steps
Step 1
首先安装gcc、g++等工具。
1 | sudo apt install build-essential |
然后安装一些必要的库,用于RocksDB的Compression。
1 | sudo apt-get install libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev libzstd-dev libgflags-dev |
Step 2
下载RocksDB源码并解压。
1 | wget https://github.com/facebook/rocksdb/archive/v6.25.1.zip |
Tips:
- 版本号可自己选择,下面涉及到版本号的命令需要对应更改。e.g. v6.6.4 (2020-01-31)
- 此过程需要的时间可能较长,可以通过其他方法下载zip压缩包,拷贝至Ubuntu系统。(Recommended)
- 如果压缩包名字略有不同,自行更改。
Step 3
编译生成动态链接库和静态链接库
1 | cd rocksdb-6.25.1 |
Tips:
-
如果先生成静态链接库再生成动态链接库,在生成动态链接库的时候会报错。
1
2make static_lib && sudo make install-static
make shared_lib && sudo make install-shared解决办法如下:
1
2
3make clean
make shared_lib
make static_lib -
此过程需要的时间较长(约10min)。
最后执行sudo make install
命令。
1 | sudo make install |
Step 4
设置环境变量
1 | #echo "/usr/local/lib" |sudo tee /etc/ld.so.conf.d/rocksdb-x86_64.confsudo ldconfig -v |
Tips:
#echo "/usr/local/lib" |sudo tee /etc/ld.so.conf.d/rocksdb-x86_64.confsudo ldconfig -v
: refresh the ldconfig cacheINSTALL_PATH=/usrsudo ldconfig -v
: refresh the ldconfig cache
Test
新建测试程序rocksdbtest.cpp
1 |
|
动态编译
1 | g++ -std=c++11 -o rocksdbtest rocksdbtest.cpp -lrocksdb -lpthread |
执行
1 | ./rocksdbtest |
正确结果
1 | get bar success!! |
db_bench
1 | make clean |
Tips:
- 运行db_bench时设置参数
e.g.1
./db_bench -benchmarks="fillrandom,stats" -statistics -key_size=16 -value_size=65536 -db=./test_db1 -wal_dir=./test_db1 -duration=6000 -level0_file_num_compaction_trigger=1 -enable_pipelined_write=true -compression_type=None -stats_per_interval=1 -stats_interval_seconds=10 -max_write_buffer_number=6
Reference
RocksDB和db_bench安装与配置