开源大数据集群部署(八)Ranger编译部署

news2024/10/7 16:27:08

作者:櫰木
在hd1.dtstack.com主机root权限下操作。

1、 编译ranger

ranger二进制包编译过程在本次过程中不做详细说明。简单说明如下:

  • 在pom.xml中更改对应hadoop集群组件版本。
  • ranger2编译前提条件是python3和mvn已安装完成。
  • 编译命令:
mvn clean compile package install -Pranger-jdk11 -DskipTests

在这里插入图片描述
输出SUCCESS表示编译成功,会在target目录下生成对应二进制包,本次使用已经编译好的二进制包。

2、创建ranger库

在hd1.dtstack.com主机mysql权限创建ranger用户,命令如下:

mysql> CREATE USER 'ranger'@'%' IDENTIFIED BY 'ranger';
mysql> CREATE DATABASE ranger DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> GRANT ALL ON ranger.* TO 'ranger'@'%';

在这里插入图片描述

将mysql-connector-java.jar这个jar包放在/usr/share/java(目录需自己创建)这个目录下
注意,使用mysql8的jdbc需使用5.1.46版本的及以上的jdbc

[root@hd1.dtstack.com software]#  scp root@hd1: /opt/package/mysql-connector-java-5.1.46.jar /usr/share/java/mysql-connector-java.jar

解压ranger-admin包

[root@hd1.dtstack.com software]# tar -zxvf ranger-2.3.0-admin.tar.gz  -C /opt/ranger/

3、 初始化ranger admin

修改初始化文件install.properties(含kerberos认证配置)
修改/opt/ranger/ranger-2.3.0-admin/install.properties注释掉88行的audit_store=solr
在这里插入图片描述
完成的配置文件如下:

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
 
#
# This file provides a list of the deployment variables for the Policy Manager Web Application
#
 
#------------------------- DB CONFIG - BEGIN ----------------------------------
# Uncomment the below if the DBA steps need to be run separately
#setup_mode=SeparateDBA
 
PYTHON_COMMAND_INVOKER=python3
 
#DB_FLAVOR=MYSQL|ORACLE|POSTGRES|MSSQL|SQLA
DB_FLAVOR=MYSQL
#
 
#
# Location of DB client library (please check the location of the jar file)
#
#SQL_CONNECTOR_JAR=/usr/share/java/ojdbc6.jar
#SQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar
#SQL_CONNECTOR_JAR=/usr/share/java/postgresql.jar
#SQL_CONNECTOR_JAR=/usr/share/java/sqljdbc4.jar
#SQL_CONNECTOR_JAR=/opt/sqlanywhere17/java/sajdbc4.jar
SQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar
 
 
#
# DB password for the DB admin user-id
# **************************************************************************
# ** If the password is left empty or not-defined here,
# ** it will try with blank password during installation process
# **************************************************************************
#
#db_root_user=root|SYS|postgres|sa|dba
#db_host=host:port              # for DB_FLAVOR=MYSQL|POSTGRES|SQLA|MSSQL       #for example: db_host=localhost:3306
#db_host=host:port:SID          # for DB_FLAVOR=ORACLE                          #for SID example: db_host=localhost:1521:ORCL
#db_host=host:port/ServiceName  # for DB_FLAVOR=ORACLE                          #for Service example: db_host=localhost:1521/XE
db_root_user=root
db_root_password=123456
db_host=hd1.dtstack.com
#SSL config
db_ssl_enabled=false
db_ssl_required=false
db_ssl_verifyServerCertificate=false
#db_ssl_auth_type=1-way|2-way, where 1-way represents standard one way ssl authentication and 2-way represents mutual ssl authentication
db_ssl_auth_type=2-way
javax_net_ssl_keyStore=
javax_net_ssl_keyStorePassword=
javax_net_ssl_trustStore=
javax_net_ssl_trustStorePassword=
javax_net_ssl_trustStore_type=jks
javax_net_ssl_keyStore_type=jks
 
# For postgresql db
db_ssl_certificate_file=
 
#
# DB UserId used for the Ranger schema
#
db_name=ranger
db_user=ranger
db_password=ranger
 
#For over-riding the jdbc url.
is_override_db_connection_string=false
db_override_connection_string=
 
 
# change password. Password for below mentioned users can be changed only once using this property.
#PLEASE NOTE :: Password should be minimum 8 characters with min one alphabet and one numeric.
rangerAdmin_password=Ranger@123
rangerTagsync_password=Ranger@123
rangerUsersync_password=Ranger@123
keyadmin_password=Ranger@123
 
 
#Source for Audit Store. Currently solr, elasticsearch and cloudwatch logs are supported.
# * audit_store is solr
#audit_store=solr
 
# * audit_solr_url Elasticsearch Host(s). E.g. 127.0.0.1
audit_elasticsearch_urls=
audit_elasticsearch_port=
audit_elasticsearch_protocol=
audit_elasticsearch_user=
audit_elasticsearch_password=
audit_elasticsearch_index=
audit_elasticsearch_bootstrap_enabled=true
 
 
# * audit_solr_url URL to Solr. E.g. http://<solr_host>:6083/solr/ranger_audits
audit_solr_urls=
audit_solr_user=
audit_solr_password=
audit_solr_zookeepers=
 
audit_solr_collection_name=ranger_audits
#solr Properties for cloud mode
audit_solr_config_name=ranger_audits
audit_solr_configset_location=
audit_solr_no_shards=1
audit_solr_no_replica=1
audit_solr_max_shards_per_node=1
audit_solr_acl_user_list_sasl=solr,infra-solr
audit_solr_bootstrap_enabled=true
 
# * audit to amazon cloudwatch properties
audit_cloudwatch_region=
audit_cloudwatch_log_group=
audit_cloudwatch_log_stream_prefix=
 
#------------------------- DB CONFIG - END ----------------------------------
 
#
# ------- PolicyManager CONFIG ----------------
#
 
policymgr_external_url=http://hd1.dtstck.com:6080
policymgr_http_enabled=true
policymgr_https_keystore_file=
policymgr_https_keystore_keyalias=rangeradmin
policymgr_https_keystore_password=
 
#Add Supported Components list below separated by semi-colon, default value is empty string to support all components
#Example :  policymgr_supportedcomponents=hive,hbase,hdfs
policymgr_supportedcomponents=
 
#
# ------- PolicyManager CONFIG - END ---------------
#
 
 
#
# ------- UNIX User CONFIG ----------------
#
unix_user=ranger
unix_user_pwd=ranger
unix_group=ranger
 
#
# ------- UNIX User CONFIG  - END ----------------
#
#
 
#
# UNIX authentication service for Policy Manager
#
# PolicyManager can authenticate using UNIX username/password
# The UNIX server specified here as authServiceHostName needs to be installed with ranger-unix-ugsync package.
# Once the service is installed on authServiceHostName, the UNIX username/password from the host <authServiceHostName> can be used to login into policy manager
#
# ** The installation of ranger-unix-ugsync package can be installed after the policymanager installation is finished.
#
#LDAP|ACTIVE_DIRECTORY|UNIX|NONE
authentication_method=NONE
remoteLoginEnabled=true
authServiceHostName=localhost
authServicePort=5151
ranger_unixauth_keystore=keystore.jks
ranger_unixauth_keystore_password=password
ranger_unixauth_truststore=cacerts
ranger_unixauth_truststore_password=changeit
 
####LDAP settings - Required only if have selected LDAP authentication ####
#
# Sample Settings
#
#xa_ldap_url=ldap://127.0.0.1:389
#xa_ldap_userDNpattern=uid={0},ou=users,dc=xasecure,dc=net
#xa_ldap_groupSearchBase=ou=groups,dc=xasecure,dc=net
#xa_ldap_groupSearchFilter=(member=uid={0},ou=users,dc=xasecure,dc=net)
#xa_ldap_groupRoleAttribute=cn
#xa_ldap_base_dn=dc=xasecure,dc=net
#xa_ldap_bind_dn=cn=admin,ou=users,dc=xasecure,dc=net
#xa_ldap_bind_password=
#xa_ldap_referral=follow|ignore
#xa_ldap_userSearchFilter=(uid={0})
 
xa_ldap_url=
xa_ldap_userDNpattern=
xa_ldap_groupSearchBase=
xa_ldap_groupSearchFilter=
xa_ldap_groupRoleAttribute=
xa_ldap_base_dn=
xa_ldap_bind_dn=
xa_ldap_bind_password=
xa_ldap_referral=
xa_ldap_userSearchFilter=
####ACTIVE_DIRECTORY settings - Required only if have selected AD authentication ####
#
# Sample Settings
#
#xa_ldap_ad_domain=xasecure.net
#xa_ldap_ad_url=ldap://127.0.0.1:389
#xa_ldap_ad_base_dn=dc=xasecure,dc=net
#xa_ldap_ad_bind_dn=cn=administrator,ou=users,dc=xasecure,dc=net
#xa_ldap_ad_bind_password=
#xa_ldap_ad_referral=follow|ignore
#xa_ldap_ad_userSearchFilter=(sAMAccountName={0})
 
xa_ldap_ad_domain=
xa_ldap_ad_url=
xa_ldap_ad_base_dn=
xa_ldap_ad_bind_dn=
xa_ldap_ad_bind_password=
xa_ldap_ad_referral=
xa_ldap_ad_userSearchFilter=
 
#------------ Kerberos Config -----------------
spnego_principal=HTTP/hd1.dtstack.com@DTSTACK.COM
spnego_keytab=/etc/security/keytab/rangeradmin.keytab
token_valid=30
cookie_domain=
cookie_path=/
admin_principal=rangeradmin/hd1.dtstack.com@DTSTACK.COM
admin_keytab=/etc/security/keytab/rangeradmin.keytab
lookup_principal=rangerlookup/hd1.dtstack.com@DTSTACK.COM
lookup_keytab=/etc/security/keytab/rangerlookup.keytab
hadoop_conf=/opt/hadoop/etc/hadoop
#
#-------- SSO CONFIG - Start ------------------
#
sso_enabled=false
sso_providerurl=https://127.0.0.1:8443/gateway/knoxsso/api/v1/websso
sso_publickey=
 
#
#-------- SSO CONFIG - END ------------------
 
# Custom log directory path
RANGER_ADMIN_LOG_DIR=$PWD
RANGER_ADMIN_LOGBACK_CONF_FILE=
 
# PID file path
RANGER_PID_DIR_PATH=/var/run/ranger
 
# #################  DO NOT MODIFY ANY VARIABLES BELOW #########################
#
# --- These deployment variables are not to be modified unless you understand the full impact of the changes
#
################################################################################
XAPOLICYMGR_DIR=$PWD
app_home=$PWD/ews/webapp
TMPFILE=$PWD/.fi_tmp
LOGFILE=$PWD/logfile
LOGFILES="$LOGFILE"
 
JAVA_BIN='java'
JAVA_VERSION_REQUIRED='1.8'
JAVA_ORACLE='Java(TM) SE Runtime Environment'
 
ranger_admin_max_heap_size=1g
#retry DB and Java patches after the given time in seconds.
PATCH_RETRY_INTERVAL=120
STALE_PATCH_ENTRY_HOLD_TIME=10
 
#mysql_create_user_file=${PWD}/db/mysql/create_dev_user.sql
mysql_core_file=db/mysql/optimized/current/ranger_core_db_mysql.sql
mysql_audit_file=db/mysql/xa_audit_db.sql
#mysql_asset_file=${PWD}/db/mysql/reset_asset.sql
 
#oracle_create_user_file=${PWD}/db/oracle/create_dev_user_oracle.sql
oracle_core_file=db/oracle/optimized/current/ranger_core_db_oracle.sql
oracle_audit_file=db/oracle/xa_audit_db_oracle.sql
#oracle_asset_file=${PWD}/db/oracle/reset_asset_oracle.sql
#
postgres_core_file=db/postgres/optimized/current/ranger_core_db_postgres.sql
postgres_audit_file=db/postgres/xa_audit_db_postgres.sql
#
sqlserver_core_file=db/sqlserver/optimized/current/ranger_core_db_sqlserver.sql
sqlserver_audit_file=db/sqlserver/xa_audit_db_sqlserver.sql
#
sqlanywhere_core_file=db/sqlanywhere/optimized/current/ranger_core_db_sqlanywhere.sql
sqlanywhere_audit_file=db/sqlanywhere/xa_audit_db_sqlanywhere.sql
cred_keystore_filename=$app_home/WEB-INF/classes/conf/.jceks/rangeradmin.jceks

主要参数说明:

  • db_user、db_name、db_password表示ranger连接数据库信息
  • rangerAdmin_password表示WEB登录秘密,rangerUsersync_password 表示用户同步密码
  • admin_keytab表示ranger kerberos服务端认证票据keytab文件,lookup_keytab表示ranger
    kerberos客户端认证票据keytab文件

ranger初始化并生成对应keytab
在所有节点均需安装python3

yum install python3 bc -y
[root@hd1.dtstack.com ranger-2.3.0-admin]# ./setup.sh
[root@hd1.dtstack.com ranger-2.3.0-admin]# ./set_globals.sh
[root@hd1.dtstack.com ranger-2.3.0-admin]# cp /opt/hadoop/etc/hadoop/core-site.xml /opt/ranger-2.3.0-admin/conf
 
[root@hd1.dtstack.com ranger-2.3.0-admin]# bash /root/bigdata/getkeytabs.sh /etc/security/keytab/rangeradmin.keytab HTTP
[root@hd1.dtstack.com ranger-2.3.0-admin]# bash /root/bigdata/getkeytabs.sh /etc/security/keytab/rangeradmin.keytab rangeradmin
[root@hd1.dtstack.com ranger-2.3.0-admin]# bash /root/bigdata/getkeytabs.sh /etc/security/keytab/rangerlookup.keytab rangerlookup
[root@hd1.dtstack.com ranger-2.3.0-admin]# bash /root/bigdata/getkeytabs.sh /etc/security/keytab/rangerusersync.keytab rangerusersync

上边执行的脚本请看基础环境准备章节。
注意:

  • 千万不要用软连接,避免ranger重装会导致core-site.xml被重置
  • 在setup.sh的过程中可能遇到以下问题,需要修改py代码

在这里插入图片描述
修改db_setup.py的152行
在这里插入图片描述

(key, _, value) = line.decode('utf8').partition('=')

ranger admin环境变量设置

在/etc/profile文件PATH中加入/opt/ranger/ranger-2.3.0-admin/bin

或把ranger-admin启动命令放到/usr/bin/下,采用第二种

启动ranger admin

[root@hd1.dtstack.com ranger-2.3.0-admin]#  ranger-admin start

4、 WEB UI页面

访问地址:http://hd1.dtstack.com:6080/

用户密码:admin/Ranger@123
在这里插入图片描述

更多技术信息请查看云掣官网https://yunche.pro/?t=yrgw

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1423443.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ROS---机器人导航实现

ROS—机器人导航实现 1 准备工作 1.1 分布式架构 需要完成分布式框架的搭建并且能正常运行&#xff0c;在PC端可以远程登录机器人端。 1.2 功能包安装 在机器人端安装导航所需功能包&#xff1a; 安装 gmapping 包(用于构建地图):sudo apt install ros-<ROS版本>-g…

Linux下Docker搭建部署Typecho博客【详细版】

Linux下Docker搭建部署Typecho博客【详细版】 一、环境准备1.1.准备阿里云服务器【新用户免费使用三个月】1.2.准备远程工具【FinalShell】1.3.系统信息1.4.安装所需软件包1.5.设置docker镜像源1.6.更新yum软件包索引1.7.确认停用selinux 二、安装Docker2.1.安装Docker-Ce2.2.查…

Spring Boot3,启动时间缩短 10 倍!

前面松哥写了一篇文章和大家聊了 Spring6 中引入的新玩意 AOT&#xff08;见Spring Boot3 新玩法&#xff0c;AOT 优化&#xff01;&#xff09;。 文章发出来之后&#xff0c;有小伙伴问松哥有没有做性能比较&#xff0c;老实说&#xff0c;这个给落下了&#xff0c;所以今天…

oracle错误:The Network Adapter could not establish the connection

执行请求的操作时遇到错误: IO 错误: The Network Adapter could not establish the connection (CONNECTION_IDU34sFBqOSayf4o4C6pwQ6A) 供应商代码 17002 原因&#xff1a; 错误代码 17002 表示 Oracle 数据库客户端遇到了网络适配器无法建立连接的问题 解决办法&#x…

鸿蒙harmony--TypeScript基础语法

把青春献给身后那座辉煌的都市&#xff0c;为了这个美梦我们付出着代价 目录 一&#xff0c;基础类型 二&#xff0c;数组 三&#xff0c;any 四&#xff0c;变量的类型注释 五&#xff0c;函数 5.1 参数类型注解 5.2 返回类型注解 5.3 匿名函数 六&#xff0c;对象类型 可选属…

网络的基础

协议分层&#xff1a; 为什么会协议分层&#xff1f; 问题本身是分层的 不断进行封装&#xff0c;低耦合 对应的网络协议栈与操作系统有什么关系&#xff1f; 其中五层协议中最重要的传输层和网络层就是操作系统中的板块。 网络通信的本质&#xff1a; 贯穿协议栈的过程。…

ElementUI Form:Checkbox 多选框

ElementUI安装与使用指南 Checkbox 多选框 点击下载learnelementuispringboot项目源码 效果图 el-checkbox.vue 页面效果图 项目里el-checkbox.vue代码 <script> const cityOptions [上海, 北京, 广州, 深圳] export default {name: el_checkbox,data() {return …

java之mybatis入门

大前题 正确创建好了springboot工程&#xff0c;极其依赖 配置数据库连接 application.yml spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/cangqiongusername: rootpassword: rootlombok Data 自动生成代码&#xff08…

springboot 个人网盘系统 java web网盘文件分享系统 web在线云盘

springboot 个人网盘系统 java web网盘文件分享系统 web在线云盘 开发工具&#xff1a;Eclipse/idea Java开发环境&#xff1a;JDK8.0 Web服务器:Tomcate9.0。 数据库&#xff1a;MySQL数据库。 技术框架&#xff1a;Struts2SpringHibernate和JSP 有详细的源码&#xff0…

【C++】构造函数和析构函数详解

目录 前言 类中的六个默认成员函数 构造函数 概念 特性 析构函数 概念 特性&#xff1a; 前言 类中的六个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编…

在Excel把两个单元格的内容,合并后显示在第三个单元格

在Excel中&#xff0c;将两个单元格的内容合并显示到第三个单元格有几种方法&#xff1a; 1. 使用 CONCATENATE 函数&#xff08;在较早版本的 Excel 中&#xff09;&#xff1a; 在目标单元格&#xff08;例如 C1&#xff09;中输入以下公式&#xff1a; CONCATENATE(A…

Linux实验记录:远程控制服务

前言&#xff1a; 本文是一篇关于Linux系统初学者的实验记录。 参考书籍&#xff1a;《Linux就该这么学》 实验环境&#xff1a; VmwareWorkStation 17——虚拟机软件 RedHatEnterpriseLinux[RHEL]8——红帽操作系统 备注&#xff1a; SSH&#xff08;Secure Shell&…

晶体塑性有限元 Abaqus 三维泰森多边形(voronoi模型)插件 V8.0

更多内容见公众号“320科技工作室”&#xff0c;有需要欢迎通过公众号联系我们。

跨境电商展-2024广州跨境电商展览会(ICBE China 2024)

ICBE2024第11届广州国际跨境电商交易博览会&#xff0c;作为华南地区最具影响力的跨境电商展览会&#xff0c;将再次于2024年5月15-17日在广州保利世贸展览馆盛大举行。此次展会以“创新、合作、共赢”为主题&#xff0c;汇聚了来自全球各地的跨境电商企业、平台、服务商等&…

怎么把几百M大小的视频做成二维码?扫码播放视频在线教程

怎么把几百M大小的视频做成一个二维码展示呢&#xff1f;通过二维码来作为视频的载体是现在很常用的一种手段&#xff0c;通过这种方式不仅成本比较低&#xff0c;而且传播速度也比较快&#xff0c;通过访问云端数据就可以播放视频。 视频二维码生成的方法一般会通过二维码生成…

箱形图之美:Pyecharts库的高级参数解析与炫酷样式实践

Pyecharts绘制多种炫酷箱形图参数说明代码实战 引言 箱形图&#xff08;Box Plot&#xff09;&#xff0c;又称为盒须图&#xff0c;是一种用于显示一组数据分布情况的统计图表。Pyecharts是一个基于Echarts的Python库&#xff0c;可以轻松地绘制各种交互式图表&#xff0c;包…

bat脚本:批量生成创建数据库的SQL语句

需求来源&#xff1a;使用 Navicat等数据库工具点击“转储SQL文件”会生成一个 xxx.sql 的文件&#xff0c;xxx是导出的数据库名。导出的数据库多了&#xff0c;就会一次性生成很多这样的SQL文件&#xff0c;所以需要写个脚本根据这些SQL脚本文件来批量生成创建数据库的SQL语句…

细谈Java的String类

目录 1. 创建对象的思考 2. 字符串常量池&#xff08;StringTable&#xff09; 3. intern方法 1. 创建对象的思考 下面两种创建String对象的方式相同吗&#xff1f; public static void main(String[] args) {String s1 "hello";String s2 "hello";St…

【数据结构 03】循环队列

一、原理 循环队列从功能角度具有队列的性质&#xff0c;即遵从先进先出原则&#xff0c;但是其存储方式是顺序存储。 循环队列的存储空间大小通常都是固定的&#xff0c;通过前指针和尾指针的移动控制循环队列数据的增删。 特征&#xff1a;顺序存储、先进先出、容量有限&a…

docker打包python镜像全教程

1.目录结构如下 2.使用dockfile安装&#xff1a; FROM python:3.7.7 ADD ./pdf_reader /code # 设置code文件夹是工作目录 WORKDIR /code # 安装支持 RUN pip install -r requirements.txt CMD ["python3", "Api.py"]dockfile最好在linux系统上创建&am…