更新时间:2024-05-11 GMT+08:00

使用客户端执行查询语句

用户可以根据业务需要,在MRS集群的客户端中进行交互式查询。启用Kerberos认证的集群,需要提交拓扑的用户属于“presto”组。

MRS 3.x版本Presto组件暂不支持开启Kerberos认证。

前提条件

  • 获取用户“admin”帐号密码。“admin”密码在创建MRS集群时由用户指定。
  • 已刷新客户端。
  • 3.x版本的集群需要手动安装Presto客户端。

操作步骤

  1. 启用Kerberos认证的集群,登录MRS Manager页面,创建拥有“Hive Admin Privilege”权限的角色。
  2. 创建属于“Presto”和“Hive”组的用户,同时为该用户绑定1中创建的角色,然后下载用户认证文件。
  3. 将下载的user.keytab文件和krb5.conf上传到MRS客户端所在节点。

    步骤2-3仅启用Kerberos认证的集群执行,普通集群请直接从步骤4开始执行。

  4. 根据业务情况,准备好客户端,并登录安装客户端的节点。

    例如在Master2节点更新客户端,则登录该节点使用客户端,具体参见使用MRS客户端

  5. 执行以下命令切换用户。

    sudo su - omm

  6. 执行以下命令,切换到客户端目录,例如“/opt/client”

    cd /opt/client

  7. 执行以下命令,配置环境变量。

    source bigdata_env

  8. 连接Presto Server。根据客户端的不同,提供如下两种客户端的链接方式。

    • 使用MRS提供的客户端。
      • 未启用Kerberos认证的集群,执行以下命令连接本集群的Presto Server。

        presto_cli.sh

      • 未启用Kerberos认证的集群,执行以下命令连接其他集群的Presto Server,其中ip为对应集群的Presto的浮动IP(可通过在Presto配置项中搜索PRESTO_COORDINATOR_FLOAT_IP的值获得),port为Presto Server的端口号,默认为7520。

        presto_cli.sh --server http://ip:port

      • 启用Kerberos认证的集群,执行以下命令连接本集群的Presto Server。

        presto_cli.sh --krb5-config-path krb5.conf文件路径 --krb5-principal 用户principal --krb5-keytab-path user.keytab文件路径 --user presto用户名

      • 启用Kerberos认证的集群,执行以下命令连接其他集群的Presto Server,其中ip为对应集群的Presto的浮动IP(可通过在Presto配置项中搜索PRESTO_COORDINATOR_FLOAT_IP的值获得),port为Presto Server的端口号,默认为7521。

        presto_cli.sh --krb5-config-path krb5.conf文件路径 --krb5-principal 用户principal --krb5-keytab-path user.keytab文件路径 --server https://ip:port --krb5-remote-service-name Presto Server name

    • 使用原生客户端

      Presto原生客户端为客户端目录下的Presto/presto/bin/presto。

  9. 执行Query语句,如“show catalogs;”。

    启用Kerberos认证的集群使用Presto查询Hive Catalog的数据时,运行Presto客户端的用户需要有Hive表的访问权限,并且需要在Hive beeline中执行命令grant all on table [table_name] to group hive;,给Hive组赋权限。

  10. 查询结束后,执行以下命令退出客户端。

    quit;