linux下rocksdb的编译安装
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..tar.gz
cd rocksdb-5.18./
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的安装,网上很多文章都表示有坑,其实是安装的过程不对,如果有问题可以留言交流.
linux下rocksdb的编译安装的更多相关文章
- Linux下指定版本编译安装LAMP
说明: 操作系统:CentOS 6.5 64位 需求: 编译安装LAMP运行环境 各软件版本如下: MySQL:mysql-5.1.73 Apache:httpd-2.2.31 PHP:php-5.2 ...
- Linux下源码编译安装rpy2
R(又称R语言)是一款开源的跨平台的数值统计和数值图形化展现工具.rpy2是Python直接调用R的第三方库,它可以实现使用python读取R的对象.调用R的方法以及Python与R数据结构转换等.这 ...
- Linux 下源码编译安装 vim 8.1
前言 目前 linux 的各个发行版基本上都是带了一个 vi 编辑器的,而本文要说的 vim 编辑器对 vi 做了一些优化升级,更好用.当我们需要远程操作一台 linux 服务器的时候,只能使用命令行 ...
- linux下Python2.7编译安装PyQt5
---作者吴疆,未经允许,严禁转载,违权必究--- ---欢迎指正,需要源码和文件可站内私信联系--- -----------点击此处链接至博客园原文----------- 功能说明:在ubuntu系 ...
- 1、Linux下源码编译安装PostgreSQL
操作系统:Centos7 说明:postgresql必须在postgres用户下初始化数据库和启动,否则报错. PostgreSQL的特性 PostgreSQL是一种几乎可以运行在各种平台上的免费的开 ...
- linux下源码编译安装mysql
1.安装依赖的包: yum install -y gdb cmake ncurses-devel bison bison-devel 2.创建mysql安装目录和数据文件目录 mkdir -p /us ...
- 在Linux下源码编译安装GreatSQL/MySQL
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 本 ...
- 在 Linux 下用 CMAKE 编译安装 OpenCV 3.2.0
[安装相关软件和库] 1.安装CMAKE:这里使用apt-get来安装; CMAKE 是一个跨平台编译工具,能够输出各种makefile,和project 文件,指导编译器编译,对CMAKE具体的可以 ...
- Linux下源码编译安装MySql,centeros7
1. 安cmake工具 # yum install -y cmake 2. 创建mysql用户 #useradd -s /sbin/nologin mysql //设置为非登陆用户(安全) 3. ...
随机推荐
- Codeforces 911F Tree Destruction
Tree Destruction 先把直径扣出来, 然后每个点都和直径的其中一端组合, 这样可以保证是最优的. #include<bits/stdc++.h> #define LL lon ...
- 066 基于checkpoint的HA机制实现
1.说明 针对需要恢复的应用场景,提供了HA的的机制 内部实现原理:基于checkpoint的 当程序被kill的时候,下次恢复的时候,会从checkpoint对用的文件中进行数据的恢复 2.HA原理 ...
- day 68 django 之api操作 | jQueryset集合与对象
我们的orm里面分为: jQueryset集合, 还有对象, 我们的jqueryset集合里面可以有多个对象,这句话的意思就是我们的对象是最小的单位,不可以再拆分了,我们的jQueryset集合就相当 ...
- 利用Python中的mock库对Python代码进行模拟测试
这篇文章主要介绍了利用Python中的mock库对Python代码进行模拟测试,mock库自从Python3.3依赖成为了Python的内置库,本文也等于介绍了该库的用法,需要的朋友可以参考下 ...
- js算法初窥07(算法复杂度)
算法复杂度是我们来衡量一个算法执行效率的一个度量标准,算法复杂度通常主要有时间复杂度和空间复杂度两种.时间复杂度就是指算法代码在运行最终得到我们想要的结果时所消耗的时间,而空间复杂度则是指算法中用来存 ...
- linux 学习笔记六 tail 命令
#tail -f -n100 catalina.out 含义 从文件尾部监视catalina.out 文件 要看文件尾部100行 #tail -f -n100 catalina,out > ...
- git SourceTree 客户端 安装/使用教程
使用过SourceTree 之后发现比乌龟好多了 风来了.fox 1.安装之前的必备 1.1 git 客户端 http://msysgit.github.io/ 安装就PASS了,总之是直接下一步.直 ...
- c#接口与抽象类的区别(一)
abstract 修饰符用于表示所修饰的类是不完整的,并且它只能用作基类.抽象类与非抽象类在以下方面是不同的: 抽象类不能直接实例化,并且对抽象类使用 new 运算符是编译时错误.虽然一些变量和值在编 ...
- webpack打包之有依赖js模块
一.入口文件main.js var isd = require('./depend.js'); if(isd.isDepend){ console.log('有依赖模块'); } else { con ...
- ISP PIPLINE(零) 知识综述预热
本文为camera isp pipline概述 ISP,即image signal processing.为图像成型做的处理工作.适应不同光学环境下图像的还原. pipline流程如下: 光通过LEN ...