Apache Ranger提供集中式的权限管理框架,可以对Hadoop生态中的HDFS、Hive和YARN等组件进行细粒度的权限访问控制,并且提供了Web UI方便管理员操作。
Ranger组件介绍
- Ranger Admin
您可以创建和更新安全访问策略,这些策略被存储在数据库中。各个组件的Plugin定期对这些策略进行轮询。
- Ranger Plugins
Plugin嵌入在各个集群组件的进程里,是一个轻量级的Java程序。例如,Ranger对Hive的组件,就被嵌入在Hiveserver2里。这些Plugin从Ranger Admin服务端拉取策略,并把它们存储在本地文件中。当接收到来自组件的用户请求时,对应组件的Plugin会拦截该请求,并根据安全策略对其进行评估。
- Ranger UserSync
Ranger提供了一个用户同步工具。您可以从Unix或者LDAP中拉取用户和用户组的信息。这些用户和用户组的信息被存储在Ranger Admin的数据库中,可以在定义策略时使用。
访问Ranger UI
添加8443端口,具体操作请参见添加安全组规则。
进入访问链接与端口页签。
在顶部菜单栏处,根据实际情况选择地域和资源组。
在EMR on ECS页面,单击目标集群的集群名称。
单击上方的访问链接与端口页签。
在访问链接与端口页面,单击Ranger UI所在行的链接。
在Ranger UI登录界面,输入用户名和密码。
首次登录后,需要修改密码并妥善保存。
单击上方的Settings。
修改admin的密码。
单击右上角的
。修改后即可使用新的密码登录。
常见问题
Q:如果忘记密码无法登录Ranger UI时,该如何处理?
A:您可以按照如下方法处理:
登录集群的Master节点,详情请参见登录集群。
执行如下命令重置admin的密码为初始密码。
DataLake集群
EMR-3.44.0及后续版本、EMR-5.10.0及后续版本
mysql -urangeradmin -pRangeradmin1234 update ranger.x_portal_user set password="07e47d323c1c36c1dc2cc3966027d6f9" where login_id="admin";
EMR-3.44.0之前版本、EMR-5.10.0之前版本
mysql -urangeradmin -prangeradmin1234 update ranger.x_portal_user set password="257e4521fee681b67583e2e7a4ac1c28" where login_id="admin";
Hadoop集群
mysql -urangeradmin -prangeradmin update ranger.x_portal_user set password="ceb4f32325eda6142bd65215f4c0f371" where login_id="admin";