如何在滴滴云上编译RocksDB的jni

1、首先拉取 RocksDB 的最新源码

git clone (https://github.com/facebook/rocksdb.git)

2、紧接着需要使用 Maven 拉取 RocksDB 的依赖

根据官方文档,可以找到相应依赖的目录:
https://search.maven.org/search?q=g:org.rocksdb
在这里插入图片描述

打开后可以看到 Maven 的依赖源码,如下图所示:
在这里插入图片描述

点击右上角的复制,复制到 RocksDB 的工程目录下,命令为 pom.xml 文件,同时修改其中的 110 行,改为如下标红的样式:
在这里插入图片描述

3、接下来需要安装 Maven

进入官网 http://maven.apache.org/download.cgi
下载最新的 Maven,笔者这里下载的是 3.6.0 版本。

在命令行输入命令

wget

http://mirrors.shu.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz

接着,解压 tar 包 : tar –xvf apache-maven-3.6.0-bin.tar.gz

将解压后的 Maven 移动到 /usr/local 目录下 : sudo mv apache-maven-3.6.0 /usr/local/apache-maven

同时更改环境变量,在 /etc/profile 文件末尾增加

export M2_HOME=/usr/local/apache-maven
export PATH=$PATH:$M2_HOME/bin

敲入以下命令使之生效:

source /etc/profile

这时候可以使用 mvn-version 查看 Maven 版本。
在这里插入图片描述
因为我们的镜像是纯净的镜像,故需要安装 JDK。

4、安装 JDK

  • 下载 JDK 包
sudo mkdir /usr/java
wget 

http://mirrors.linuxeye.com/jdk/jdk-8u152-linux-x64.tar.gz
同时解压 tar xzf jdk-8u152-linux-x64.tar.gz -C /usr/java

  • 设置环境变量
    编辑
/etc/profile:sudo vi /etc/profile

按 i 键进入编辑模式。

在 /etc/profile 文件中添加以下信息:

   #set java environment
    export JAVA_HOME=/usr/java/jdk1.8.0_152
    export JRE_HOME=/usr/java/jdk1.8.0_152/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH

按 Esc 键退出编辑模式,输入:wq 保存并关闭文件。

加载环境变量 source /etc/profile

  • 查看 JDK 版本 java –version
    在这里插入图片描述

5、此时应该已经装好了 Maven 以及 Java 了,可以进行下一步拉取依赖的操作

首先看一下 Maven,输入 mvn –version
在这里插入图片描述

下一步,拉取依赖,进入 RocksDB 工程目录

输入 以下命令,拉取所有的依赖:

mvn install

在这里插入图片描述
此时完成了依赖拉取。

6、编译 RocksDB 的包

完成了上述准备以后,就可以开始编译相关的库了。
在 RocksDB 的工程目录下开始编译 make –j8 rocksdbjava
编译完成以后,可以在工程目录 /java/target 找到相对应的 so 与 jar。
在这里插入图片描述

附:滴滴云环境

机器配置:通用型 2核 CPU 4GB 内存 系统盘 100GB 数据盘 400GB 带宽规格 1Mbps
系统环境:Centos 7.4
gcc 版本:4.8.5(RocksDB 要求 g++ 编译器能够支持 c++11)

猜你喜欢

转载自blog.csdn.net/java060515/article/details/84545544