
# 使用Presto客户端执行查询语句
用户可以根据业务需要，在MRS集群的客户端中进行交互式查询。启用Kerberos认证的集群，需要提交拓扑的用户属于"presto"组。
MRS 3.x版本Presto组件暂不支持开启Kerberos认证。
#### 前提条件
- 获取用户"admin"账号密码。"admin"密码在创建MRS集群时由用户指定。
- 已刷新客户端。
- 3.x版本的集群需要手动安装Presto客户端。
 
#### 操作步骤
1. 启用Kerberos认证的集群，登录MRS Manager页面，创建拥有"Hive Admin Privilege"权限的角色，创建角色请参考[创建角色](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0343.html)。
2. 创建属于"Presto"和"Hive"组的用户，同时为该用户绑定[1]中创建的角色，然后下载用户认证文件，参见[创建用户](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0345.html)，[下载用户认证文件](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0352.html)。
3. 将下载的user.keytab文件和krb5.conf上传到MRS客户端所在节点。
   
   ![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
   步骤[2]-[3]仅启用Kerberos认证的集群执行，普通集群请直接从步骤[4]开始执行。
   
   
4. 根据业务情况，准备好客户端，并登录安装客户端的节点。
   
   例如在Master2节点更新客户端，则登录该节点使用客户端，具体参见[使用MRS客户端](https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_2126.html)。
   
   
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;"。 
   ![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
   启用Kerberos认证的集群使用Presto查询Hive Catalog的数据时，运行Presto客户端的用户需要有Hive表的访问权限，并且需要在Hive beeline中执行命令**g** **rant all on table \[table_name\] to group hive** **;**，给Hive组赋权限。
   
   
10. 查询结束后，执行以下命令退出客户端。 
    **quit** **;**
    
    
 
