0752-7.0.3-如何在CDP DC7.0.3安装Ranger

文档编写目的

在前面的文章中,Fayson介绍了《0733-7.0.3-如何在Redhat7.6中安装CDP DC7.0.3》和《0750-7.0.3-如何在CDP DC7.0.3集群部署Flink1.9.1》,基于前面的集群环境,本篇文章Fayson主要介绍如何在CDP DC7.0.3集群安装Ranger。

  • 文档概述

1.如何在CDP DC集群安装启用Ranger服务

2.运行一个Flink示例验证

  • 测试环境

1.操作系统Redhat7.2

2.CDP DC7.0.3

3.使用root用户操作


Ranger安装前准备

1.在MySQL的配置文件/etc/my.cnf中添加如下内容

innodb_file_per_table = ON
innodb_file_format = Barracuda
innodb_large_prefix = ON

完成修改后重启MySQL数据库

systemctl restart mariadb

注意:该步操作主要是为了解决Ranger初始化元数据库时索引长度超过默认值的问题,指定innodb_large_prefix参数的同时必须指定innodb_file_per_table和innodb_file_format参数。


2.在MySQL数据库中为Ranger创建元数据库

create database ranger default character set utf8;
CREATE USER 'rangeradmin'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON ranger.* TO 'rangeradmin'@'%';
FLUSH PRIVILEGES;


3.在Ranger服务所在服务器安装MySQL驱动

将MySQL驱动拷贝至/user/share/java目录下并创建软连

ln -s mysql-connector-java-5.1.34.jar mysql-connector-java.jar


4.确保当前集群是已安装Solr

注意:Solr Server安装在DataNode服务所在节点上。


Ranger安装

1.选择我们要安装Ranger的Cluster点击“添加服务”菜单


2.选择Ranger服务


3.自定义角色分配


4.点击“继续”,输入Ranger的Admin、Usersync、Tagsync以及Database信息

注意:Admin、Usersync、Tagsync几个用户的密码必须包含一个数字和一个字母


5.点击“继续”,Ranger首次运行生成服务Principal和初始化数据库


6.点击“继续”


7.点击“完成”,回到CM主页面


8.根据CM提示重启过期服务

重启成功


9.完成后回到CM主页,至此就完成了Ranger服务的安装


总结

1.Ranger服务的审计信息是存储在Solr服务中,所以在安装Ranger前需要先安装Solr服务。

2.在初始化Ranger元数据库操作前,需要先将MySQL数据库的/etc/my.cnf配置中添加innodb_large_prefix、innodb_file_per_table和innodb_file_format参数,否则会导致初始化失败。

3.文章中主要讲Ranger的安装,并不会涉及到与相应服务的集成及使用, 在后续的文章Fayson为一个个组件的讲解集成及使用。


问题汇总

1.在初始化Ranger元数据库时报如下错误

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes
SQLException : SQL state: 42000 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes ErrorCode: 1071
2020-02-14 10:20:46,665  [E] ranger_core_db_mysql.sql file import failed!
2020-02-14 10:20:46,666  [I] Unable to create DB schema, Please drop the database and try again
2020-02-14 10:20:46,666  [JISQL] /usr/java/jdk1.8.0_181-cloudera/bin/java  -cp /usr/share/java/mysql-connector-java.jar:/opt/cloudera/parcels/CDH-7.0.3-1.cdh7.0.3.p0.1635019/lib/ranger-admin/jisql/lib/* org.apache.util.sql.Jisql -driver mysqlconj -cstring jdbc:mysql://cdh1.prest.com/ranger -u 'rangeradmin' -p '********' -noheader -trim -c \;  -query "delete from x_db_version_h where version = 'CORE_DB_SCHEMA' and active = 'N' and updated_by='cdh2.prest.com';"
2020-02-14 10:20:47,106  [E] CORE_DB_SCHEMA import failed!

解决方法:

在MySQL的配置文件/etc/my.cnf中增加如下配置:

innodb_file_per_table = ON
innodb_file_format = Barracuda
innodb_large_prefix = ON

举报
评论 0