Ranger描述
Apache Ranger提供了一个集中式的安全管理框架,用户可以通过操作Ranger Admin页面来配置各种策略,从而实现对Hadoop生成组件,比如HDFS、YARN、Hive、HBase、Kafka等进行细粒度的数据访问控制。本篇博客将为大家介绍如何Apache Ranger的安装部署、以及使用。
Ranger的主要由以下几个核心模块组成,它们分别是:
- Ranger Admin:该模块是Ranger的核心,它内置了一个Web管理界面,用户可以通过这个Web管理界面或者REST接口来制定安全策略;
- Agent Plugin:该模块是嵌入到Hadoop生态圈组件的插件,它定期从Ranger Admin拉取策略并执行,同时记录操作以供审计使用;
- User Sync:该模块是将操作系统用户/组的权限数据同步到Ranger数据库中。
Apache Ranger提供以下核心功能,它们分别是:
- 通过统一的中心化管理界面或者REST接口来管理所有安全任务,从而实现集中化的安全管理;
- 通过统一的中心化管理界面,对Hadoop生态圈组件或者工具的操作进行更加细粒度级别的控制;
- 提供了统一的、标准化的授权方式;
- 支持基于角色的访问控制,基于属性的访问控制等多种访问控制手段;
- 支持对用户访问和管理操作的集中审计。
前提条件
Ranger服务安装
1 下载和编译
- 官网:ranger.apache.org/download.ht…
- Github:github.com/apache/rang…
- 国内镜像:gitee.com/mirrors/apa…
选择指定版本(在装有maven的编译机器上)
- git clone -b release-ranger-2.1.0 github.com/apache/rang…
在当前路径下进行编译,命令如下
- cd ranger/
- mvn clean compile package assembly:assembly install -DskipTests -Drat.skip=true
编译结果输出: [INFO] BUILD SUCCESS
查看结果文件: ls target/
2 安装Ranger Admin
- cp target/ranger-2.1.0-admin.tar.gz ~/app/
- cd ~/app
- tar -zxvf ranger-2.1.0-admin.tar.gz
- cd ranger-2.1.0-admin/
- vi install.properties
修改内容如下
DB_FLAVOR=MYSQL
SQL_CONNECTOR_JAR=/opt/mysql-connector-java-8.0.29.jar
db_root_user=xxx
db_root_password=xxxxxx
db_host=nns:3306
db_name=your_db_name
db_user=your_db_user
db_password=your_db_password
rangerAdmin_password=your_login_password
rangerTagsync_password=your_login_password
rangerUsersync_password=your_login_password
keyadmin_password=your_login_password
执行安装和启动命令
- sudo -E sh setup.sh
- cd ews
- sudo -E ./ranger-admin-services.sh start
检查服务是否正常
/** 正常情况下出现如下结果*/
Starting Apache Ranger Admin Service
Apache Ranger Admin Service with pid xxxxxx has started.
查看服务进程是否启动
- ps -ef | grep ranger
或 - netstat -lntp|grep 6080
查看管理页面
浏览器打开URL http://localhost(根据实际地址修改):6080
3 安装ranger-usersync
复制usersync包到提前准备好的机器
- scp target/ranger-2.1.0-usersync.tar.gz user@nn:~/app/
切换到另一台机器
- cd ~/app/
- tar -zxvf ranger-2.1.0-usersync.tar.gz
- cd ranger-2.1.0-usersync
- vi install.properties
修改内容如下
ranger_base_dir = /etc/ranger
POLICY_MGR_URL = 对应ranger admin中的policymgr_external_url
SYNC_SOURCE = unix
MIN_UNIX_USER_ID_TO_SYNC = 500
MIN_UNIX_GROUP_ID_TO_SYNC = 500
SYNC_INTERVAL = 10, 时间过长会出现session过期的报错
rangerUsersync_password=对应ranger admin中的rangerUsersync_password
logdir=/home/ubuntu/logs/usersync-logs
再修改配置文件中的启动开关
- vi conf/ranger-ugsync-site.xml
ranger.usersync.enabled
true
最后开启服务
- sudo -E sh setup.sh 执行一次即可
- sudo -E sh start.sh
页面查看user信息同步结果
浏览器打开http://localhost(根据实际地址修改):6080
查看Settings下面的user/group信息是否同步过去
参考文章:www.manongjc.com/detail/29-z…