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的安裝,網上很多文章都表示有坑,其實是安裝的過程不對,如果有問題可以留言交流.