文档编写目的
在前面的文章中,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 = ONinnodb_file_format = Barracudainnodb_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 bytesSQLException : SQL state: 42000 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes ErrorCode: 10712020-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 again2020-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 = ONinnodb_file_format = Barracudainnodb_large_prefix = ON