本文为您介绍如何通过配置Hue访问Presto服务。
前提条件
已创建集群,并选择了Presto服务。
已打开8888端口。
重要设置安全组规则时要针对有限的IP范围。禁止在配置的时候对0.0.0.0/0开放规则。
操作流程
EMR各版本默认支持Hue访问E-MapReduce(EMR)集群的Presto服务的情况,以及配置Hue访问Presto服务的操作流程如下。
版本 | 支持情况 | 操作流程 |
EMR-3.33.0以前版本或EMR-4.6.0以前版本 | 默认不支持 | |
EMR-3.33.0(包含)版本到EMR-3.38版本,EMR-4.6.0(包含)版本到EMR-5.5.0版本 | 默认支持 | 无需任何配置,直接通过Hue访问EMR集群的Presto服务。 |
EMR-3.38及后续版本或EMR-5.5.0及后续版本 | 默认不支持 |
下载Presto的JDBC驱动
使用SSH方式登录到集群,详细信息请参见登录集群。
创建presto-jdbc的目录。
mkdir -p /opt/apps/presto-jdbc/
下载相应版本的JDBC JAR包,并上传至/opt/apps/presto-jdbc/目录。
例如,本文示例创建的是EMR-3.32.0版本的集群,因为Presto版本是338,所以您可以下载338版本的JDBC JAR包。
下载下图中的JAR包。
上传JAR包至/opt/apps/presto-jdbc/目录。
执行以下命令,修改文件权限。
chmod 644 /opt/apps/presto-jdbc/*
执行以下命令,编辑文件hue.sh。
vim /etc/profile.d/hue.sh
添加以下内容至文件hue.sh最后一行。
export CLASSPATH=/opt/apps/presto-jdbc/*:$CLASSPATH
如下图所示:
加载Presto的JDBC驱动
进入Hue配置页面。
在顶部菜单栏处,根据实际情况选择地域和资源组。
单击上方的集群管理页签。
在集群管理页面,单击相应集群所在行的详情。
在左侧导航栏,选择 。
在Hue服务页面,单击配置页签。
在服务配置区域,单击hue。
添加Hue自定义配置。
单击右上角的自定义配置。
在新增配置项对话框中,添加配置信息。
EMR-3.33.0以前版本或EMR-4.6.0以前版本
参数
描述
notebook.interpreters.presto.name
固定值为Presto。
notebook.interpreters.presto.interface
固定值为jdbc。
notebook.interpreters.presto.options
固定值为{"url": "jdbc:presto://emr-header-1:9090/hive/default", "driver": "com.facebook.presto.jdbc.PrestoDriver", "user": "hadoop", "password": ""}。
EMR-3.38及后续版本或EMR-5.5.0及后续版本
参数
描述
notebook.interpreters.presto.options
固定值为{"url": "jdbc:trino://emr-header-1:9090/hive/default", "driver": "io.trino.jdbc.TrinoDriver", "user": "hadoop", "password": ""} 。
配置信息添加完成后,单击确定。
保存配置。
单击右上角的保存。
在确认修改对话框,填写执行原因,并开启自动更新配置。
单击确定。
部署配置。
单击上方的部署客户端配置。
在执行集群操作对话框,选择执行范围和失败处理策略,填写执行原因。
单击确定。
在确认对话框,单击确定。
- 在执行集群操作对话框中,输入执行原因,单击确定。
- 在确认对话框,单击确定。
- 单击右上角查看操作历史查看任务进度,等待任务完成。
重启Hue。
在Hue集群服务页面,选择 。
在执行集群操作对话框,选择执行范围和失败处理策略,填写执行原因。
单击确定。
在确认对话框,单击确定。
- 在执行集群操作对话框中,输入执行原因,单击确定。
- 在确认对话框,单击确定。
- 单击右上角查看操作历史查看任务进度,等待任务完成。
通过Hue访问EMR集群的Presto服务
在左侧导航栏,单击访问链接与端口。
单击Hue所在行的链接。
使用默认管理员admin登录,初始密码在Hue配置页面获取admin_pwd参数的值,详细信息请参见查看初始密码。
在Hue页面已显示Presto。
表示您可以通过Hue访问EMR集群的Presto服务。
可选:测试连通性。
在Presto SQL中输入以下命令,查询集群上Schema的列表。
show schemas
当正确返回信息时,表示连通性正常。