Windows环境IDEA下Ranger1.2.0源码编译详细流程

 更新时间:2022年04月26日 09:26:02   作者:顧棟  
本文给大家讲解Windows环境IDEA下Ranger1.2.0源码编译过程,通过配置Tomcat,发布 security-admin-web项目,编译启动tomcat即可完成,需要的朋友参考下

Apache Ranger是什么,它是一个为Hadoop平台提供了全面的数据安全访问控制及监控的集中式管理框架,Apache顶级项目。不废话了,其实本篇没那么高大上,就是一步步教你Windows环境IDEA下Ranger1.2.0源码编译详细流程。

一、本地环境准备

  •  git(2.16.2)
  • maven(3.6.1)
  • idea(2020.1)
  • python(2.7.18)
  • Tomcat(7.0.105)

以上安装步骤均可以百度

二、源码编译

用git clone 代码,Ranger官方版本1.2.0 仓库地址 https://github.com/apache/ranger.git

在cmd或者git bash 进入项目工程对应目录

在这里插入图片描述

使用如下命令编译源代码,注意编译超级费时间

mvn -DskipTests=true clean compile package install assembly:assembly

在这里插入图片描述

三、使用idea打开项目

 1. 安装数据库Mysql版

找到 security-admin-web模块,在安装脚本里security-admin/scripts/install.properties找出mysql所需要的sql脚本db/mysql/optimized/current/ranger_core_db_mysql.sqldb/mysql/xa_audit_db.sql,安装数据库。数据库安装详细过程(略)。

2. 配置Tomcat,发布 security-admin-web项目。

3. 修改security-admin中以下文件

src\main\resources\conf.dist\ranger-admin-site.xml中的ranger.jpa.jdbc.url,ranger.jpa.jdbc.user,ranger.jpa.jdbc.password

<property>
   		<name>ranger.jpa.jdbc.url</name>
   		<value>jdbc:log4jdbc:mysql://127.0.0.1/ranger</value>
   		<description></description>
   	</property>
   	<property>
   		<name>ranger.jpa.jdbc.user</name>
   		<value>root</value>
   		<description></description>
   	</property>
   	<property>
   		<name>ranger.jpa.jdbc.password</name>
   		<value>123456</value>
   		<description></description>
   	</property>

src\main\webapp\META-INF\applicationContext.xml中的叫propertyConfigurer的bean

<bean id="propertyConfigurer" class="org.apache.ranger.common.PropertiesUtil">
		<property name="locations">
			<list>
				<!-- <value>classpath:xa_default.properties</value> -->
				<!-- <value>classpath:xa_system.properties</value> -->
				<!-- <value>classpath:xa_custom.properties</value> -->
				<!-- <value>classpath:xa_ldap.properties</value> -->
				<value>classpath:conf.dist/core-site.xml</value>
				<value>classpath:conf.dist/ranger-admin-default-site.xml</value>
				<value>classpath:conf.dist/ranger-admin-site.xml</value>
			</list>
		</property>
		<property name="propertiesPersister" ref="xmlPropertyConfigurer" />
	</bean>

4. 编译启动Tomcat即可。

四、遇到问题

1.python版本问题

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: Execute failed: java.io.IOException: Cannot run program "python" (in directory "E:\code\openSource\ranger\ranger-util"): CreateProcess error=2, 系统找不到指定的文件。
[ERROR] around Ant part ...<exec failonerror="true" executable="python">... @ 4:48 in E:\code\openSource\ranger\ranger-util\target\antrun\build-main.xml
[ERROR] -> [Help 1]

在这里插入图片描述

解决方案: 安装Python 且要是2版本的。

Tomcat版本问题

org.apache.catalina.loader.VirtualWebappLoader

解决方案: 之前使用9版本的Tomcat ,改为7.0.105就可以了。

以上就是Windows环境IDEA下Ranger1.2.0源码编译详细流程的详细内容,更多关于Ranger1.2.0源码编译的资料请关注脚本之家其它相关文章!

相关文章

  • spring 自动装配和aop的使用

    spring 自动装配和aop的使用

    这篇文章主要介绍了spring 自动装配和aop的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Springboot整合log4j2日志全解总结

    Springboot整合log4j2日志全解总结

    这篇文章主要介绍了Springboot整合log4j2日志全解总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • 一文详解spring注解配置bean的初始化方法和销毁方法

    一文详解spring注解配置bean的初始化方法和销毁方法

    本篇我们讲解下spring项目中如何为bean指定初始化方法和销毁方法。当spring完成bean的属性赋值之后,就会执行bean的初始化方法,而当spring要销毁bean实例的时候,也会调用bean的销毁方法。文中有详细的代码实例,需要的朋友可以参考下
    2023-05-05
  • java定时调度器(Quartz)使用实例

    java定时调度器(Quartz)使用实例

    这篇文章主要介绍了java开源定时调度器使用方法
    2013-12-12
  • Spring security oauth2以redis作为tokenstore及jackson序列化失败问题

    Spring security oauth2以redis作为tokenstore及jackson序列化失败问题

    这篇文章主要介绍了Spring security oauth2以redis作为tokenstore及jackson序列化失败问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教<BR>
    2024-04-04
  • java 开发中网络编程之IP、URL详解及实例代码

    java 开发中网络编程之IP、URL详解及实例代码

    这篇文章主要介绍了java 开发中网络编程之IP、URL详解及实例代码的相关资料,需要的朋友可以参考下
    2017-03-03
  • 浅谈s:select 标签中list存放map对象的使用

    浅谈s:select 标签中list存放map对象的使用

    下面小编就为大家带来一篇浅谈s:select 标签中list存放map对象的使用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 一篇文章教你使用SpringBoot如何实现定时任务

    一篇文章教你使用SpringBoot如何实现定时任务

    这篇文章主要给大家介绍了关于如何利用一篇文章教你使用SpringBoot实现定时任务的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • SpringBoot自动装配之@Enable深入讲解

    SpringBoot自动装配之@Enable深入讲解

    这篇文章主要介绍了SpringBoot自动装配之@Enable,SpringBoot中提供了很多Enable开头的注解,这些注解都是用于动态启用某些功能的。而其底层原理是使用@Import注 解导入一些配置类,实现Bean的动态加载
    2023-01-01
  • MyBatis如何实现多表查询(多对一、一对多)

    MyBatis如何实现多表查询(多对一、一对多)

    这篇文章主要给大家介绍了关于MyBatis如何实现多表查询(多对一、一对多)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05

最新评论