文檔編寫目的
在前面的文章中,Fayson介紹了《 》和《 》,基於前面的集群環境,本篇文章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中添加如下內容
<code>innodb_file_per_table = ONinnodb_file_format = Barracudainnodb_large_prefix = ON/<code>
完成修改後重啟MySQL數據庫
<code>systemctl restart mariadb/<code>
注意:該步操作主要是為了解決Ranger初始化元數據庫時索引長度超過默認值的問題,指定innodb_large_prefix參數的同時必須指定innodb_file_per_table和innodb_file_format參數。
2.在MySQL數據庫中為Ranger創建元數據庫
<code>create database ranger default character set utf8;CREATE USER 'rangeradmin'@'%' IDENTIFIED BY 'password';GRANT ALL PRIVILEGES ON ranger.* TO 'rangeradmin'@'%';FLUSH PRIVILEGES;/<code>
3.在Ranger服務所在服務器安裝MySQL驅動
將MySQL驅動拷貝至/user/share/java目錄下並創建軟連
<code>ln -s mysql-connector-java-5.1.34.jar mysql-connector-java.jar/<code>
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元數據庫時報如下錯誤
<code>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!/<code>
解決方法:
在MySQL的配置文件/etc/my.cnf中增加如下配置:
<code>innodb_file_per_table = ONinnodb_file_format = Barracudainnodb_large_prefix = ON/<code>
閱讀更多 Hadoop實操 的文章