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中以下文件

  1. 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>
    
    
  2. 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版本的。

  1. Tomcat版本问题

    org.apache.catalina.loader.VirtualWebappLoader
    

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


专栏导航

Ranger Admin组件 Ranger HDFS 组件、Ranger-usersync组件安装说明
Ranger admin web 模块分析之policy查询缓存

其他专栏

Kafka专栏
数据结构
设计模式

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐