Ranger2.1.0源码编译
一、安装git
在后期编译Ranger过程中其中某些模块需要使用到Git,这里还需要安装Git。Git是一个开源的分布式版本控制系统,一般在项目版本控制中会使用Git控制。
1)下载git,执行如下命令:
代码语言:javascript复制[root@node3 ~]# wget https://github.com/git/git/archive/v2.21.0.tar.gz
2)解压下载好的压缩包
代码语言:javascript复制[root@node3 ~]# tar -zxvf ./v2.21.0.tar.gz
3)安装编译源码所需依赖,以上安装依赖时,出现提示按‘y’即可
代码语言:javascript复制[root@node3 ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
4)进入解压的文件夹,编译git,这一步骤时间稍微过长,耐心等待即可
代码语言:javascript复制[root@node3 ~]# cd git-2.21.0/
[root@node3 git-2.21.0]# make prefix=/usr/local/git all
5)安装git到/usr/local/git路径
代码语言:javascript复制[root@node3 git-2.21.0]# make prefix=/usr/local/git install
6)配置环境变量
打开/etc/profile文件,追加如下内容:PATH=$PATH:/usr/local/git/bin
代码语言:javascript复制#追加如下内容之后,再保存。
[root@node3 git-2.21.0]# vim /etc/profile
export PATH=$PATH:/usr/local/git/bin
#使新加入的环境变量生效
[root@node3 git-2.21.0]# source /etc/profile
7)检查git版本,验证是否安装成功
代码语言:javascript复制[root@node3 ~]# git --version
git version 1.8.3.1
二、编译Ranger2.1.0
Ranger官网没有提供Ranger安装包,这里需要下载Ranger源码进行编译安装,Ranger源码下载地址:https://ranger.apache.org/download.html
https://ranger.apache.org/download.html
这里需要注意,Ranger版本与Hadoop的版本也有对应关系,如果使用Hadoop2.x版本需要下载Ranger1.x版本,如果Hadoop版本是3.x版本,这里下载Ranger2.x版本。这里我们使用Hadoop是3.x版本,所以下载Ranger2.1.0版本。
下载好Ranger源码包之后,这里安装Ranger只需要在一台节点安装即可,我们需要将Ranger安装包上传到该节点进行解压、编译源码,编译步骤如下:
1)上传安装包到node3节点,并解压
代码语言:javascript复制[root@node3 software]# tar -zxvf ./apache-ranger-2.1.0.tar.gz
2)安装Maven,并配置阿里Yum源
这里在安装Atlas时已经安装配置过Maven,可以直接跳过。
3)编译安装
代码语言:javascript复制#进入到解压好的源码包目录内
[root@node3 ~]# cd /software/apache-ranger-2.1.0
#编译源码
[root@node3 apache-ranger-2.1.0]# mvn -DskipTests=true clean package
1)编译好的包在目录“/software/apache-ranger-2.1.0/target”下
三、编译错误解决
1)编译错误如下
“Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (generate-version-annotation) on project ranger-util: An Ant BuildException has occured: exec returned: 1”,以上错误需要在当前节点上安装git。
2)“Could not extract the Node archive:... ...”
以上原因极有可能是“node-8.12.0-linux-x64.tar.gz”下载不完整造成的,进入到对应的maven仓库路径,删除重新执行编译命令即可。也可以找到下载的路径(编译时往前翻一翻就可以看到以下路径)直接手动下载,上传到对应的仓库目录下“/root/.m2/repository/com/github/eirslett/node/8.12.0”:
https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-x64.tar.gz