问题
打算使用apache ranger作为大数据集群的权限管理工具,部署好ranger-admin和ranger-usersync,设置同步用户源为unix,但是一直不能成功。所幸是开源软件,打开代码,研究代码,最终解决问题。
源码
// 同步是根据config.isUserSyncEnabled()方法控制的
private void syncUserGroup() throws Throwable {
UserGroupSyncConfig config = UserGroupSyncConfig.getInstance();
if (config.isUserSyncEnabled()) {
ugSource.updateSink(ugSink);
}
}
解决
查看/etc/ranger/usersync/conf/ranger-ugsync-site.xml(install.properties中ranger_base_dir配置)发现ranger.usersync.enabled为false,修改为true。重启ranger-usersync,再看管理界面,已经同步成功。