使用MRS Hive表对接OBS文件系统
MRS支持用户将数据存储在OBS服务中,使用MRS集群仅作数据计算处理的存算分离场景。用户通过IAM服务的“委托”机制进行简单配置,即可实现OBS的访问。
本章节指导用户创建Hive表存放数据到OBS,基本内容如下所示:
创建ECS委托
- 登录华为云管理控制台。
- 在服务列表中选择“管理与监管 > 统一身份认证服务”。
- 选择“委托 > 创建委托”。
- 设置“委托名称”。例如:mrs_ecs_obs。
- “委托类型”选择“云服务”,在“云服务”中选择“ECS BMS”,授权ECS或BMS调用OBS服务,如图1所示。
- “持续时间”选择“永久”并单击“下一步”。
- 在弹出页面中搜索框内搜索“OBS OperateAccess”策略,勾选“OBS OperateAccess”策略如图2所示。
- 单击“下一步”,选择权限范围方案,默认选择“所有资源”,单击“展开其他方案”,选择“全局服务资源”,单击“确定”。
- 在弹出的提示框中单击“知道了”,开始授权。界面提示“授权成功。”,单击“完成”,委托成功创建。
为MRS集群配置委托
配置存算分离支持在新建集群中配置委托实现,也可以通过为已有集群绑定委托实现。本示例以为已有集群配置委托为例介绍。
- 登录MRS控制台,在导航栏选择“现有集群”。
- 单击集群名称,进入集群详情页面。
- 在集群详情页的“概览”页签,单击“IAM用户同步”右侧的“单击同步”进行IAM用户同步。
- 在集群详情页的“概览”页签,单击“委托”右侧的“管理委托”选择创建ECS委托的委托并单击“确定”进行绑定,或单击“新建委托”进入IAM控制台进行创建后再在此处进行绑定。
图3 绑定委托
Hive访问OBS文件系统
- 用root用户登录集群Master节点,具体请参见登录集群节点。
- 验证Hive访问OBS。
- 用root用户登录集群Master节点,执行如下命令:
source bigdata_env
source Hive/component_env
- 查看文件系统mrs-demo01下面的文件列表。
- 返回文件列表即表示访问OBS成功。
图5 查看mrs-demo01下的文件列表
- 执行以下命令进行用户认证(普通模式即未开启Kerberos认证无需执行此步骤)。
kinit hive
输入用户hive密码,默认密码为Hive@123,第一次使用需要修改密码。
- 执行Hive组件的客户端命令。
- 在beeline中直接使用OBS的目录进行访问。例如,执行如下命令创建Hive表并指定数据存储在mrs-demo01文件系统的test_demo01目录中。
create table test_demo01(name string) location "obs://mrs-demo01/test_demo01";
- 执行如下命令查询所有表,返回结果中存在表test_demo01,即表示访问OBS成功。
show tables;
图6 查看是否存在表test_demo01
- 查看表的Location。
show create table test_demo01;
查看表的Location是否为“obs://OBS桶名/”开头。
图7 查看表test_demo01的Location
- 写入数据。
insert into test_demo01 values('mm'),('ww'),('ww');
执行select * from test_demo01;查询是否写入成功。
图8 查看表test_demo01中的数据
- 执行命令!q退出beeline客户端。
- 重新登录OBS控制台。
- 单击“并行文件系统”, 选择创建的文件系统名称。
- 单击“文件”,查看是否存在创建的数据。
图9 查看数据
- 用root用户登录集群Master节点,执行如下命令: