配置HDFS通过Guardian访问OBS
参考配置Guardian服务不启用Ranger OBS路径鉴权或配置Guardian服务启用Ranger OBS路径鉴权完成Guardian对接OBS后,即可在HDFS客户端查看和创建OBS文件目录。
前提条件
如果参考配置Guardian服务启用Ranger OBS路径鉴权完成Guardian对接OBS,还需参考Ranger权限配置在Ranger中为组件操作用户赋予OBS路径的“Read”和“Write”权限。
HDFS对接OBS
- 以客户端安装用户登录安装了HDFS客户端的节点。
- 执行以下命令,切换到客户端安装目录。
cd 客户端安装目录
- 执行以下命令配置环境变量。
source bigdata_env
- 如果集群启用了Kerberos认证,执行以下命令进行用户认证,该用户需具有OBS目录的读写权限。未启用Kerberos认证的集群无需执行用户认证。
kinit HDFS组件操作用户
- 在HDFS命令行访问OBS文件系统。
例如:
- 使用以下命令访问OBS文件系统。
hdfs dfs -ls obs://OBS并行文件系统名称/路径
- 使用以下命令创建OBS文件系统下的目录:
hdfs dfs -mkdir obs://OBS并行文件系统名称/hadoop
- 使用以下命令上传客户端节点“/opt/test.txt”文件到“obs://OBS并行文件系统名称/hadoop”路径下。
hdfs dfs -put /opt/test.txt obs://OBS并行文件系统名称/hadoop
上传成功后,可到对应的OBS文件系统路径下查看。
- 使用以下命令访问OBS文件系统。
修改OBS客户端日志级别
- 切换至“hadoop”目录下:
cd 客户端安装目录/HDFS/hadoop/etc/hadoop
- 编辑“log4j.properties”文件:
vi log4j.properties
在文件中添加以下OBS日志级别配置,并保存:
log4j.logger.org.apache.hadoop.fs.obs=WARN log4j.logger.com.obs=WARN
- 可执行以下命令查看:
tail -4 log4j.properties
查看到的结果如图1所示,表示修改日志级别成功。
Ranger权限配置
- 登录MRS集群Manager界面。
登录集群Manager界面请参考访问MRS集群Manager。
- 选择“系统 > 权限 > 用户组 > 添加用户组”,创建一个空角色的用户组,例如“obs_hadoop”。
- 选择“系统 > 权限 > 用户 > 添加用户”,创建一个只关联用户组“obs_hadoop”的用户,例如“hadoopuser”。
- 使用rangeradmin用户登录Ranger管理页面。
- 在首页中单击“EXTERNAL AUTHORIZATION”区域的组件插件名称“OBS”。
- 单击“Add New Policy”,为新建的用户组添加相应OBS路径的“Read”和“Write”权限。
例如,为用户组“obs_hadoop”添加“obs://OBS并行文件系统名称/hadoop”的“Read”和“Write”权限:
图2 为Hadoop用户组新增OBS路径读和写的权限对接OBS后,如需通过Ranger配置组件关于OBS相关路径的权限策略,需确保OBS服务已开启AccessLabel功能,若未开启,需手动开启,详细操作请联系OBS服务运维人员。