更新时间:2025-07-25 GMT+08:00
分享

配置Presto通过IAM委托访问OBS

参考配置MRS集群通过IAM委托对接OBS完成存算分离集群配置后,Presto即可通过presto_cli.sh客户端创建表存储在OBS中。

Presto对接OBS(集群未启用Kerberos认证(普通模式)

  1. 使用客户端安装用户,登录已安装客户端的节点。

    下载并安装集群客户端的具体操作,请参考安装MRS集群客户端

  2. 执行以下命令配置环境变量:

    切换至客户端安装目录下:

    cd 客户端安装目录

    配置环境变量:

    source bigdata_env

  3. 执行如下命令连接客户端。

    presto_cli.sh

  4. 执行以下命令创建Schema,并指定Location为OBS路径,例如:

    CREATE SCHEMA hive.demo WITH (location = 'obs://mrs-word001/presto-demo002/');

  5. 在该Schema中建表,该表的数据即会存储在OBS文件系统内,例如:

    CREATE TABLE hive.demo.demo_table WITH (format = 'ORC') AS SELECT * FROM tpch.sf1.customer;
    图1 普通集群Presto建表返回结果

  6. 执行以下命令退出客户端:

    exit

Presto对接OBS(集群已启用Kerberos认证(安全模式)

  1. 登录MRS集群Manager界面。

    登录集群Manager界面请参考访问MRS集群Manager

  2. 创建一个拥有“Hive Admin Privilege”权限的角色,例如prestorole,创建角色请参考管理MRS集群角色
  3. 创建一个属于“Presto”和“Hive”组的用户,同时为该用户绑定步骤 2中创建的角色,例如presto001,创建用户请参考创建MRS集群用户

    如果创建的人机用户,则还需使用新创建的用户登录Manager页面,修改初始密码。

  4. 下载用户凭证。

    • 针对MRS 3.x之前版本集群,在MRS Manager页面,选择“系统设置 > 用户管理 ”,选择新增用户所在行的“更多 > 下载认证凭据”。
    • 针对MRS 3.x及之后版本,在FusionInsight Manager页面,选择“系统 > 权限 > 用户”,选择新增用户所在行的“更多 > 下载认证凭据”。

  5. 解压下载的用户凭证文件,得到“krb5.conf”“user.keytab”两个文件并放入客户端目录,例如“客户端安装目录/Presto/”。

    下载并安装集群客户端的具体操作,请参考安装MRS集群客户端

  6. 使用客户端安装用户,登录已安装客户端的节点。
  7. 执行如下命令获取用户principal。

    klist -kt 客户端安装目录/Presto/user.keytab

  8. 执行以下命令配置环境变量:

    切换至客户端安装目录下:

    cd 客户端安装目录

    配置环境变量:

    source bigdata_env

  9. 执行以下命令连接本集群的Presto Server:

    presto_cli.sh --krb5-config-path {krb5.conf文件路径} --krb5-principal {用户principal} --krb5-keytab-path {user.keytab文件路径} --user {Presto用户名}
    表1 参数值获取方法

    参数值

    获取方法

    krb5.conf文件路径

    请替换为步骤 5中设置的文件存放路径,例如“客户端安装目录/Presto/krb5.conf”。

    user.keytab文件路径

    请替换为步骤 5中设置的文件存放路径,例如“客户端安装目录/Presto/user.keytab”“/opt/Bigdata/client/Presto/user.keytab”

    用户principal

    请替换为步骤 7中返回的结果。

    Presto用户名

    请替换为步骤 3中创建的用户名,例如“presto001”

  10. 执行以下命令创建Schema,并指定Location为OBS路径,例如:

    CREATE SCHEMA hive.demo01 WITH (location = 'obs://mrs-word001/presto-demo002/');

  11. 在该Schema中建表,表的数据即会存储在OBS文件系统内,例如:

    CREATE TABLE hive.demo01.demo_table WITH (format = 'ORC') AS SELECT * FROM tpch.sf1.customer;
    图2 开启Kerberos认证的集群Presto建表返回结果

  12. 执行以下命令退出客户端:

    exit

相关文档