? ? RocksDB起源于Facebook的實驗室項目,實現了一個高性能的快速存儲器,是基于C++編寫的key value數據庫,很多軟件都是采用內置rocksdb的方式運行,所以需要我們提前安裝rocksdb的庫,下面主要敘述一下rocksdb的源碼編譯過程,
? ? github倉庫:https://github.com/facebook/rocksdb/
? ? 操作系統:CentOS 7.x? gcc 4.8
linux安裝php、? ? 編譯前依賴: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
linux編譯c文件、? ? 然后開始編譯源代碼:
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
centos安裝deb、? ? 安裝之后如果import rocksdb沒問題說明成功了,注意導入的時候也需要gflags依賴,不要忘了加到LD_LIBRARY_PATH
? ? 以上就是rocksdb以及python-rocksdb的安裝,網上很多文章都表示有坑,其實是安裝的過程不對,如果有問題可以留言交流.
?