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. ...
随机推荐
- 场景/故事/story——寻物者发布消息场景、寻失主发布消息场景、消息展示场景、登录网站场景
1.背景:(1)典型用户:吴昭[主要] 尤迅[次要] 王丛[次要] 佑豪[次要](2)用户的需求/迫切需要解决的问题a.吴昭:经常在校园各个地方各个时间段,丢失物品需要寻找.b.吴昭:偶尔浏览一下最 ...
- QT pyqt pyside2 QLabel 自动换行设置注意点
QT pyqt pyside2 QLabel 自动换行设置注意点 先看效果: PySide2(QT5) 的 QT Designer (我在 QT4 的 designer 中不可以直接看效果,可能需要设 ...
- HBase表的基本结构和常用命令行操作
一.HBase表的基本结构 1.概述: 平时常见的MySQL.Oracle数据库都是传统型关系数据库,它们都是按行查询.按行存储:而HBase为非关系型数据库,它是按列存储的的. 在HBase插入数据 ...
- Codeforces 1076D Edge Deletion 【最短路+贪心】
<题目链接> 题目大意: n个点,m条边的无向图,现在需要删除一些边,使得剩下的边数不能超过K条.1点为起点,如果1到 i 点的最短距离与删除边之前的最短距离相同,则称 i 为 " ...
- pymysql:Mysql拒绝从远程访问的解决办法
pymysql:Mysql拒绝从远程访问的解决办法 pymysql连接数据库 # 导入pymysql模块 import pymysql # 连接database conn = pymysql.conn ...
- RFC2616-HTTP1.1-Status Code(状态码规定部分—单词注释版)
part of Hypertext Transfer Protocol -- HTTP/1.1RFC 2616 Fielding, et al. 10 Status Code Definitions ...
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range
字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(en ...
- js 解析json
一 ,eval var dataObj=eval("("+data+")"); 1,这种形式将使得性能显著降低,因为它必须运行编译器 2,eval函数还减弱了你 ...
- POJ1700----Crossing River
#include<cstdio> #include<iostream> #include<cstring> #include<algorithm> us ...
- java发送邮件高级篇
package com.xiets.javamaildemo; import java.util.Date; import java.util.Properties; import javax.act ...