ranger管mysql_ranger部署⽂档(记)
⽬录
概览 (2)
1.      ranger-admin. 2
2.      ranger-user-sync. 2
3.      ranger-*-plugins. 2
安装 (3)
1.      ranger-admin: 3
2.      ranger-user-sync: 4
3.      ranger-hdfs-plugin: 5
4.      ranger-hive-plugin: 6
概览
1.      ranger-admin
ranger的中⼼节点,所有鉴权访问都必须经过这个节点.
(可load balancer,请求是⾛HTTP协议的)
2.      ranger-user-sync
同步user/group等信息到admin节点.
⽐如有些⽤户和组并不在admin节点的机器上存在的.
但在各个权限控制plugin中⼜有定义的,是通过这个服务同步.
3.      ranger-*-plugins
各个实际的鉴权组件的hook点实现.
存在在各个服务(如HDFS)等的进程内.
安装
1.      ranger-admin:
安装mysql,⽤于存放ranger的各种鉴权定义的存放等.
解压缩ranger-0.7.
准备solr audit(ranger会将audit log写⼊这个solr)
1)        . cd ./contrib/solr_for_audit_setup
2)        修改install.property
# 所使⽤的solr的程序安装⽬录
SOLR_INSTALL_FOLDER=
# ranger对应的solr配置等(只需建⽴起空⽬录即可,后⾯⾃带脚本会做准备)
SOLR_RANGER_HOME=
# ranger对应的solr的数据存放位置(只需建⽴起空⽬录即可,后⾯⾃带脚本会做准备) SOLR_RANGER_DATA_FOLDER=
# ranger audit在solr上的collection名字,默认为ranger_audits
SOLR_RANGER_COLLECTION=
3)        执⾏./contrib/solr_for_audit_setup/setup.sh
4)        启动(root):
${SOLR_RANGER_HOME}/scripts/start_solr.sh
停⽌(root):
${SOLR_RANGER_HOME}/scripts/stop_solr.sh
配置admin.
1)        修改install.property
# 配置所使⽤的mysql的root⽤户连接信息(需⾃⾏保证mysql这⽅⾯的权限).
db_root_user=
db_root_password=
db_host=
# ranger所使⽤的mysql的数据库和⽤户信息(后⾯会有⾃带脚本创建维护,不需⼿⼯建⽴) db_name=
db_user=
db_pasword=
# 使⽤solr存储audit
audit_store=solr
# ranger使⽤的solr collection地址.
# 如果slor的设置使⽤默认SOLR_RANGER_COLLECTION即ranger_audit的话.
audit_solr_urls=
# mysql JDBC的jar包路径
SQL_CONNECTOR_JAR=
2)        执⾏setup.sh(root)
如果执⾏过程中出现错误,则可以先在mysql 中建⽴ranger库,及其配置⽂件中的库对应⽤户及库所有权限。
这个脚本会建⽴mysql上的库信息
并会放置各个脚本到标准⽬录(类RPM包install动作)
3)        启动(root):
ranger-admin start
停⽌(root):
ranger-admin stop
4)        访问:
默认⼝令admin:admin
2.      ranger-user-sync:
解压缩ranger-0.7.1-usersync.tar
修改install.property
# 即ranger admin的地址
POLICY_MGR_URL=
执⾏setup.sh(root)
放置各个脚本到标准⽬录(类RPM包install动作)
启动(root)
ranger-usersync start
停⽌(root):
ranger-usersync stop
3.      ranger-hdfs-plugin:
在各个namenode上解压缩ranger-0.7.
修改install.property
# 即ranger admin的地址
POLICY_MGR_URL=
# 配置slor audit log
XAAUDIT.SOLR.ENABLE=true
# ranger使⽤的solr collection地址.
# 如果slor的设置使⽤默认SOLR_RANGER_COLLECTION即ranger_audit的话.
XAAUDIT.SOLR.URL=
# ranger上hdfs的policy ID/名字
# 如hadoopdev
REPOSITORY_NAME=
namenode上的调整.
1)        确保存在HADOOP_HOME环境变量
2)        确保${HADOOP_HOME}/conf存在并指向实际使⽤的conf⽬录.
3)        执⾏./enable-hdfs-plugin.sh(root)
copy ${HADOOP_HOME}/lib下的ranger相关jar和⽬录到${HADOOP_HOME}/share/hadoop/hdfs/lib trouble shooting:
这个是保证namenode进程的classpath能到ranger的jar包.
原理是ranger重新实现了dfs.namenode.inode.attributes.provider.class,hook了namenode上的RPC请求.所以前⾯需要知道conf的⽬录便于重新⽣成l
4)        重新启动namenode和zkfc即可.
5)        验证:
hdfs mkdir等读写操作⼀下应该可以在admin server的web ui看到相关audit信息
4.      ranger-hive-plugin:
在hive thrift server上解压缩ranger-0.7.
修改install.property
# 即ranger admin的地址
POLICY_MGR_URL=
# 配置slor audit log
XAAUDIT.SOLR.ENABLE=true
# ranger使⽤的solr collection地址.
# 如果slor的设置使⽤默认SOLR_RANGER_COLLECTION即ranger_audit的话.
mysql下载jar包
XAAUDIT.SOLR.URL=
# ranger上hive的policy ID/名字.如hivedev
REPOSITORY_NAME=
修改l
添加:
able.doAs
false
在thrift server上关闭doAS.
开启的话,⼀个访问需要同时控制hdfs和hive的访问权限,坏处在于不容易维护.
关闭的话,只需要维护hive的访问权限即可,坏处是所有查询在鉴权后都是以hive⽤户跑.执⾏./enable-hive-plugin.sh(root)
原理类似ranger-hdfs-plugin
重新启动hive thrift server即可.
验证:
通过beeline访问thrift做查询读写应该就能在web ui看到相关audit信息

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。