Apache Ranger0.6版本源码编译

1 Ranger简介

Apache Ranger提供一个集中式安全管理框架,它可以对Hadoop生态的组件如Hive,Hbase进行细粒度的数据访问控制.通过操作Ranger控制台,管理员可以轻松的通过配置策略来控制用户访问HDFS文件夹、HDFS文件、数据库、表、字段权限.这些策略可以为不同的用户和组来设置,同时权限可与hadoop无缝对接.

2 准备

2.1 环境说明

1 Ranger源码编译依赖如下linux组件:maven,git,gcc,MySQL

2 安装git和gcc时采用yum安装,请配置好本地源

3 安装mysql是请确保清理好系统自带的mysql.

虚拟机里Linux系统版本

[[email protected] ranger-0.5.0-usersync]# cat /etc/issue | grep Linux

Red Hat Enterprise Linux Server release 6.5 (Santiago)

java版本

[[email protected] native]# Java -version

java version "1.7.0_67"

注:官网强调一定是1.7以上版本.

Java(TM) SE RuntimeEnvironment (build 1.7.0_67-b01)

Java HotSpot(TM) 64-BitServer VM (build 24.65-b04, mixed mode)

2.1.3mysql版本

[[email protected] native]# mysql -uroot -proot-e"select version()";

Warning: Using a password onthe command line interface can be insecure.

+-----------+

| version() |

+-----------+

5.6.14    |

+-----------+

注:

1 Mysql 驱动为mysql-connector-java-5.1.31-bin.jar

2 改jar被重命名后放置在/usr/share/java/内被其它Ranger插件共享

2.1.4 Maven版本

[[email protected] bin]# mvn -version

Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9;2014-02-15T01:37:52+08:00)

Maven home: /root/maven-3.2.1

Java version: 1.7.0_67,vendor: Oracle Corporation

Java home:/root/jdk1.7.0_67/jre

Default locale: en_US,platform encoding: UTF-8

OS name: "linux",version: "2.6.32-431.el6.x86_64", arch: "amd64", family:"unix"

2.1.5 git版本

[[email protected] native]# git version

git version 1.7.1

2.2 编译准备

2.2.1 安装maven

[[email protected] ~]# cd /root

#下载地址

#https://maven.apache.org/download.cgi 最新版

#http://apache.opencas.org/maven/binaries/apache-maven-3.2.1-bin.tar.gz

tar –zxvf apache-maven-3.2.1-bin.tar.gz

mv apache-maven-3.2.1-bin maven-3.2.1

#修改环境变量,在~/.bash_profile里定义MAVEN_HOME并追加到PATH里

export MAVEN_HOME=/root/maven-3.2.1

:$MAVEN_HOME/bin:$PATH

#source环境变量,测试maven版本

source ~/.bash_profile

mvn –version

2.2.2 安装git

这里通过本地源yum方式安装.

yum install git

2.2.3 安装gcc

yum install gcc

2.2.4 安装mysql

1) 安装Mysql服务、客户端

rpm –ivh MySQL-shared-5.6.14-1.el6.x86_64.rpm

rpm –ivh MySQL-shared-compat-5.6.14-1.el6.x86_64.rpm

rpm –ivh MySQL-server-5.6.14-1.el6.x86_64.rpm

rpm –ivh MySQL-client-5.6.14-1.el6.x86_64.rpm

2) 启动mysql服务

service mysql start

3) 修改mysql初始密码,先找到安装时的初始密码,在修改成自己的密码

[[email protected] ~]#cat /root/.mysql_secret

# The random password set for the root user at Tue Dec 2221:17:22 2015 (local time):RUmKBqcY

mysql –uroot -p RUmKBqcY

set password=password(‘root’)

3、编译

首先到https://github.com/apache/incubator-ranger.git
clone下来Ranger的源码。(当时因为代理原因在终端一直clone不下来,无奈只好在网页版处下载了zip格式下来)

之后进入解压文件夹目录下,使用

export MAVEN_OPTS="-Xmx512M" 设置参数,否则会出错:gc overhead limit exceeded
(然而我设置为512仍然不行,改为1024才通过)

mvn clean compile package assembly:assembly install -Dmaven.test.skip=true;

此处将单元测试全部略过,因为有的单元测试有问题会影响编译。

这中间出现了n次问题。具体做到的修改如下:

maven的settings.xml文件修改远程仓库的url:

<mirror>
      <id>central_mirror</id>
      <url>http://repo1.maven.org/maven2/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>

之后修改ranger项目根目录的pom文件,如下:

<repository>
            <id>apache.snapshots.https</id>
            <name>Apache Development Snapshot Repository</name>
            <!--url>https://repository.apache.org/content/repositories/snapshots</url-->
            <url>http://repo1.maven.org/maven2/</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
          </repository>

之后又遇到的其他问题已经在其他博客中写道了,主要是自己编源码的经验太少,太嫩,出现了一堆问题。

最后看到下图时,感动的都要哭了。。。。

查找已编译打包好的文件

ls target/*.tar.gz

结果如下:

4. 配置

Ranger在solr里存储日志,RangerAdmin UI依赖solr组件完成审计日志的查询,所以需要先安装和配置好Solr

注:目前(HDFS-Plugin)的测试日志审计时没选择Solr方式,但还是先配置好Standalone模式的solr.

4.1 Solr或SolrCloud安装配置

cd /root/incubator-ranger/security-admin/contrib/solr_for_audit_setup

#打开install.properties文件,修改参数的值如下所示:

其实打开install.properities文件,会发现上述设置都已有默认值,有的可能被注释掉了。

#安装单节点的solr

./ setup.sh

#按照如下安装提示启动、停止solr服务

cat/opt/solr/ranger_audit_server/install_notes.txt

#启动solr

/opt/solr/ranger_audit_server/scripts/start_solr.sh

#验证solr服务是否可正常使用

lsof –i:6083

http://192.168.56.101:6083

#确保防火墙已经关闭

chkconfig iptables off

4.2  Ranger Admin安装配置

cp /opt/ranger/incubator-ranger-master/target/ranger-0.6.0-SNAPSHOT-admin.tar.gz /opt

cd /opt

可以看到opt目录下已有该tar.gz文件

#安装Ranger Admin

./setup.sh

见到如下结果,又要泪奔了,因为mysql那里解决了好多好多问题。。。。

#启动Ranger Admin服务

ranger-admin start

#验证Ranger Admin服务,如果出现Ranger的登录界面,说Okay了.注:用户名/密码 admin/admin

lsof –i:6080

访问页面:http://localhost:6080,出现了下图,就说明安装成功了。哈哈

用户名:admin;密码:admin  登陆进去之后,出现下图:

暂时告一段落,之后细化的再继续博客。。。赶快回去啦。。。

时间: 2024-10-29 19:07:38

Apache Ranger0.6版本源码编译的相关文章

HAProxy-1.8.x版本源码编译

源码编译HAProxy:  官网下载HAProxy包,并解压包,切换到haproxy包目录下 [[email protected]]#tar xvf haproxy-1.8.20.tar.gz && cd haproxy-1.8.20 安装相关依赖包 [[email protected]]#yum install gcc gcc-c++ glibc glibc-devel pcrepcre-devel openssl openssl-devel systemd-devel net-tool

Spring各版本源码下载

spring framework 各版本源码下载地址 现在spring的源码下载地址真是不好找,这次终于找到了.记录一下,以帮助需要的朋友. https://github.com/spring-projects/spring-framework/tags可以选择需要的版本进行下载. 感谢网友 xiyuan1999 在csdn上提供的此下载地址.

可解决由于IIS、VS低版本源码 兼容性问题。

安装完 Internet Information Services和 Web 管理工具 后,重启VS,以管理员身份打开,同时 选择源码--属性--安全--添加 everyone 所有权限,配置IIS,即可解决由于IIS.VS低版本源码 兼容性问题. 解决方法: 重新启动时  右键 选以管理员身份运行 那是兼容性还没配置把 控制面板-程序和功能 打开或关闭 Windows 功能 找到这个Internet Information Services 展开Web 管理工具 安装完 Internet In

Unix网络编程第三版源码编译

配置: $ cd Unix-Network-Programming/ $ chmod 755 configure $ ./configure 主要的工作是检查系统是否有源码编译所依赖的各种资源(系统版本是否匹配.编译器.库文件.头文件以及结构体定义等等) checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for

apache+mysql+svn(源码编译)

卸载原有的svn [[email protected] ~]# yum remove svn -y 安装apr [[email protected] src]# tar xf apr-1.4.8.tar.bz [[email protected] src]# tar xf apr-1.4.8.tar.bz2 [[email protected] src]# cd apr-1.4.8 [[email protected] apr-1.4.8]# ./configure --prefix=/usr/

Android4.4版本源码变化

一,WifiManager 新增: 1 public void setTdlsEnabled (InetAddress remoteIPAddress, boolean enable) 2 3 Enable/Disable TDLS on a specific local route. 4 5 TDLS enables two wireless endpoints to talk to each other directly without going through the access po

【开源】ZXING的.NET版本源码解析

[概述] ZXing ("zebra crossing") is an open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. 开源地址: https://github.com/zxing/zxing [工程结构] 以ZXing.Net.Source.0.14.0.0版本为例,此文件目录下对应两个工程: Bas

vcmi(魔法门英雄无敌3 - 开源复刻版) 源码编译

1 准备 HoMM3 gog.com CMake 官网 vcmi 源码 下载 QT5 with mingw 官网 Boost 源码1.55 下载 MSYS2 官网 2 安装 2.1 vcmi源码 目标路径 D:/vcmi/source/ 2.2 QT5 with mingw, 设置环境变量 set PATH=D:\Qt\Qt5.4.1\5.4\mingw491_32\bin;D:\Qt\Qt5.4.1\Tools\mingw491_32\bin;%PATH% 2.3 Boost 1.55 boo

VCL源码学习,正式版本源码实例

前几天一个同学跟我说他们公司做视频用的第三方播放器是VCL,因为我其实一直就想做这一块,然后就从晚上下载了编译好的源码来进行学习: 整个VLC播放器的模块可以分为下面几个重要的模块: VLCLib解码库 界面GUI 音频部分 视频部分 接口定义 控件和widget 1. 2 主要的代码在vcl项目下: : 3.还有就是vcl包下的文件: 其实从上边不难看出 gui是ui界面的包.里边有整个播放器实例的所有界面代码: 里边很清楚的写着audio音频跟video视频俩个包名,里边是音频播放 跟视频播