使用客户端执行查询语句
用户可以根据业务需要,在MRS集群的客户端中进行交互式查询。启用Kerberos认证的集群,需要提交拓扑的用户属于“presto”组。
MRS 3.x版本Presto组件暂不支持开启Kerberos认证。
前提条件
- 获取用户“admin”帐号密码。“admin”密码在创建MRS集群时由用户指定。
- 已刷新客户端。
- 3.x版本的集群需要手动安装Presto客户端。
操作步骤
- 启用Kerberos认证的集群,登录MRS Manager页面,创建拥有“Hive Admin Privilege”权限的角色。
- 创建属于“Presto”和“Hive”组的用户,同时为该用户绑定1中创建的角色,然后下载用户认证文件。
- 将下载的user.keytab文件和krb5.conf上传到MRS客户端所在节点。
- 根据业务情况,准备好客户端,并登录安装客户端的节点。
例如在Master2节点更新客户端,则登录该节点使用客户端,具体参见使用MRS客户端。
- 执行以下命令切换用户。
sudo su - omm
- 执行以下命令,切换到客户端目录,例如“/opt/client”。
cd /opt/client
- 执行以下命令,配置环境变量。
source bigdata_env
- 连接Presto Server。根据客户端的不同,提供如下两种客户端的链接方式。
- 使用MRS提供的客户端。
- 未启用Kerberos认证的集群,执行以下命令连接本集群的Presto Server。
- 未启用Kerberos认证的集群,执行以下命令连接其他集群的Presto Server,其中ip为对应集群的Presto的浮动IP(可通过在Presto配置项中搜索PRESTO_COORDINATOR_FLOAT_IP的值获得),port为Presto Server的端口号,默认为7520。
- 启用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
- 使用原生客户端
- 使用MRS提供的客户端。
- 执行Query语句,如“show catalogs;”。
启用Kerberos认证的集群使用Presto查询Hive Catalog的数据时,运行Presto客户端的用户需要有Hive表的访问权限,并且需要在Hive beeline中执行命令grant all on table [table_name] to group hive;,给Hive组赋权限。
- 查询结束后,执行以下命令退出客户端。
quit;