Ranger部署时跳过数据集ddl操作说明
Ranger部署时跳过数据集ddl操作说明
1. 准备导入的Mysql服务
2. 准备相关ranger sql文件
下载ranger安装包, 以从easyops-dev包服务器上下载为例
wget http://repo.bdms.service.163.org/easyops-dev/centos7/ranger/ranger-0.5.4-1.0.6-hive-2.1.1-admin.tar.gz
解压ranger安装包,以从easyops-dev包服务器上下载为例
Bash tar -zxvf ranger-0.5.4-1.0.6-hive-2.1.1-admin.tar.gz |
---|
获取ranger 安装包内的 db 目录和 jisql 目录
3. 准备数据库连接相关Jar包,
以从easyops-dev包服务器上下载为例
wget http://repo.bdms.service.163.org/easyops-dev/centos7/mysql/share/lib/mysql-connector-java-5.1.39.jar
4. 创建ranger相关数据库和数据库用户
4.1 Ranger 服务 mysql 配置相关说明
ranger数据库名为ranger服务安装时的 ranger_db_name 配置项,默认值为 ranger
ranger数据库用户为ranger服务安装时的 ranger_db_user 配置项,默认值为 ranger
用户密码为 ranger_db_password 配置项。默认值为 ranger@163
ranger审计数据库名为ranger服务安装时的 audit_db_name 配置项,默认值为 ranger
ranger审计数据库用户为ranger服务安装时的 audit_db_user 配置项,默认值为 rangeraudit
用户密码为 audit_db_password 配置项。默认值为 rangeraudit@163
4.2 创建 ranger 相关数据库和数据库用户的 sql 文件
execute_before_install_ranger.sql
CREATE USER 'ranger'@'%' IDENTIFIED BY 'ranger@163';
GRANT USAGE ON *.* TO 'ranger'@'%';
CREATE USER 'rangeraudit'@'%' IDENTIFIED BY 'rangeraudit@163';
GRANT USAGE ON *.* TO 'rangeraudit'@'%';
create database ranger DEFAULT CHARSET utf8;
grant all privileges on `ranger`.* to 'ranger'@'localhost' identified by 'ranger@163' with grant option;
grant all privileges on `ranger`.* to 'ranger'@'%' identified by 'ranger@163' with grant option;
grant all privileges on `ranger`.* to 'rangeraudit'@'localhost' identified by 'rangeraudit@163' with grant option;
grant all privileges on `ranger`.* to 'rangeraudit'@'%' identified by 'rangeraudit@163' with grant option;
set global log_bin_trust_function_creators=1;
use ranger;
flush privileges;
4.3 登录到导入的mysql,然后导入上述 sql 文件
source $PATH/execute_before_install_ranger.sql
5. 执行 db_setup.py 脚本来创建 ranger 数据相关 table
5.1 执行 db_setup.py 脚本所需的 install.properties 配置文件
install.properties
DB_FLAVOR=MYSQL JAVA_BIN='java'
mysql_core_file=db/mysql/xa_core_db.sql
mysql_audit_file=db/mysql/xa_audit_db.sql
oracle_core_file=db/oracle/xa_core_db_oracle.sql
oracle_audit_file=db/oracle/xa_audit_db_oracle.sql
postgres_core_file=db/postgres/xa_core_db_postgres.sql
postgres_audit_file=db/postgres/xa_audit_db_postgres.sql
sqlserver_core_file=db/sqlserver/xa_core_db_sqlserver.sql
sqlserver_audit_file=db/sqlserver/xa_audit_db_sqlserver.sql
sqlanywhere_core_file=db/sqlanywhere/xa_core_db_sqlanywhere.sql
sqlanywhere_audit_file=db/sqlanywhere/xa_audit_db_sqlanywhere.sql
admin_db_flavor=MYSQL audit_store=db
# db_root_user 为 ranger 配置中 mysql 配置组中的 ranger_db_user
db_root_user=ranger
# db_root_password 为 ranger 配置中 mysql 配置组中的 ranger_db_password
db_root_password=ranger@163
# db_host 需要根据ranger依赖的mysql的真是Host ip来填写
db_host=192.168.12.105:3306
# db_name 为 ranger 配置中 mysql 配置组中的 ranger_db_name
db_name=ranger
# db_user 为 ranger 配置中 mysql 配置组中的 ranger_db_user
db_user=ranger
# db_password 为 ranger 配置中 mysql 配置组中的 ranger_db_password
db_password=ranger@163
# audit_db_name 为 ranger 配置中 mysql 配置组中的 audit_db_name
audit_db_name=ranger
# audit_db_user 为 ranger 配置中 mysql 配置组中的 audit_db_user
audit_db_user=rangeraudit
# audit_db_password 为 ranger 配置中 mysql 配置组中的 audit_db_password
audit_db_password=rangeraudit@163
5.2 执行 db_setup.py 脚本
设置 JAVA_HOME
export JAVA_HOME=/usr/lib64/jdk8/
python db_setup.py
执行此脚本之前需要确保 install.properties,mysql-connector-java-5.1.39.jar,以及从ranger安装包中提取的 db 和 jisql 目录处于同一路径下。
执行前需确保 ranger 和 rangeraudit 用户具有 grant 权限
若执行 python db_setup.py 出现如下类型报错:
可以直接登录 myqsl 后执行上图中红框内的报错的mysql命令:
GRANT INSERT ON ranger.xa_access_audit TO ‘rangeraudit’@’192.168.12.105:3306’;
然后重新执行 python db_setup.py
6. 回收 ranger 数据库用户的 ddl 权限
revoke_user_grants.sql
REVOKE CREATE, DROP, ALTER ON `ranger`.* FROM 'ranger'@'%';
REVOKE CREATE, DROP, ALTER ON `ranger`.* FROM 'rangeraudit'@'%';
set global log_bin_trust_function_creators=0;
flush privileges;
注意 revoke_user_grants.sql 中的数据库名(ranger),数据库用户和数据审计用户名需要依据真实的配置来改变
登录导入的Mysql,导入上述revoke_user_grants.sql
7. 使用easyops平台部署ranger服务,并验证相关ranger功能是否可用
以上内容对您是否有帮助?