配置Presto通过IAM委托访问OBS
参考配置MRS集群通过IAM委托对接OBS完成存算分离集群配置后,Presto即可通过presto_cli.sh客户端创建表存储在OBS中。
Presto对接OBS(集群未启用Kerberos认证(普通模式))
- 使用客户端安装用户,登录已安装客户端的节点。
下载并安装集群客户端的具体操作,请参考安装MRS集群客户端。
- 执行以下命令配置环境变量:
切换至客户端安装目录下:
cd 客户端安装目录
配置环境变量:
source bigdata_env
- 执行如下命令连接客户端。
presto_cli.sh
- 执行以下命令创建Schema,并指定Location为OBS路径,例如:
CREATE SCHEMA hive.demo WITH (location = 'obs://mrs-word001/presto-demo002/');
- 在该Schema中建表,该表的数据即会存储在OBS文件系统内,例如:
CREATE TABLE hive.demo.demo_table WITH (format = 'ORC') AS SELECT * FROM tpch.sf1.customer;
图1 普通集群Presto建表返回结果 - 执行以下命令退出客户端:
exit
Presto对接OBS(集群已启用Kerberos认证(安全模式))
- 登录MRS集群Manager界面。
登录集群Manager界面请参考访问MRS集群Manager。
- 创建一个拥有“Hive Admin Privilege”权限的角色,例如prestorole,创建角色请参考管理MRS集群角色。
- 创建一个属于“Presto”和“Hive”组的用户,同时为该用户绑定步骤 2中创建的角色,例如presto001,创建用户请参考创建MRS集群用户。
如果创建的人机用户,则还需使用新创建的用户登录Manager页面,修改初始密码。
- 下载用户凭证。
- 针对MRS 3.x之前版本集群,在MRS Manager页面,选择“系统设置 > 用户管理 ”,选择新增用户所在行的“更多 > 下载认证凭据”。
- 针对MRS 3.x及之后版本,在FusionInsight Manager页面,选择“系统 > 权限 > 用户”,选择新增用户所在行的“更多 > 下载认证凭据”。
- 解压下载的用户凭证文件,得到“krb5.conf”和“user.keytab”两个文件并放入客户端目录,例如“客户端安装目录/Presto/”。
下载并安装集群客户端的具体操作,请参考安装MRS集群客户端。
- 使用客户端安装用户,登录已安装客户端的节点。
- 执行如下命令获取用户principal。
klist -kt 客户端安装目录/Presto/user.keytab
- 执行以下命令配置环境变量:
切换至客户端安装目录下:
cd 客户端安装目录
配置环境变量:
source bigdata_env
- 执行以下命令连接本集群的Presto Server:
presto_cli.sh --krb5-config-path {krb5.conf文件路径} --krb5-principal {用户principal} --krb5-keytab-path {user.keytab文件路径} --user {Presto用户名}
- 执行以下命令创建Schema,并指定Location为OBS路径,例如:
CREATE SCHEMA hive.demo01 WITH (location = 'obs://mrs-word001/presto-demo002/');
- 在该Schema中建表,表的数据即会存储在OBS文件系统内,例如:
CREATE TABLE hive.demo01.demo_table WITH (format = 'ORC') AS SELECT * FROM tpch.sf1.customer;
图2 开启Kerberos认证的集群Presto建表返回结果 - 执行以下命令退出客户端:
exit