本文为您介绍如何通过配置Hue访问Presto服务。
前提条件
-
已创建集群,并选择了Presto服务。
-
已打开8888端口。
重要设置安全组规则时要针对有限的IP范围。禁止在配置的时候对0.0.0.0/0开放规则。
操作流程
EMR各版本默认支持Hue访问E-MapReduce(EMR)集群的Presto服务的情况,以及配置Hue访问Presto服务的操作流程如下。
|
版本 |
支持情况 |
操作流程 |
|
低于EMR-3.33.0版本(不含EMR-3.33.0)或低于EMR-4.6.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包。
在 Maven 仓库的
io/prestosql/presto-jdbc/338目录下,找到并下载presto-jdbc-338.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文件编辑后内容如下:
#xxx the hue hue export HUE_HOME=/usr/lib/hue-current export HUE_CONF_DIR=/etc/ecm/hue-conf export CLASSPATH=/opt/apps/presto-jdbc/*:$CLASSPATH
加载Presto的JDBC驱动
-
进入Hue配置页面。
-
在顶部菜单栏处,根据实际情况选择地域和资源组。
-
单击上方的集群管理页签。
-
在集群管理页面,单击相应集群所在行的详情。
-
在左侧导航栏,选择。
-
在Hue服务页面,单击配置页签。
-
在服务配置区域,单击hue。
-
添加Hue自定义配置。
-
单击右上角的自定义配置。
-
在新增配置项对话框中,添加配置信息。
-
低于EMR-3.33.0版本(不含EMR-3.33.0)或低于EMR-4.6.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所在行的链接。
在访问链接与端口页面的服务列表中,Hue 服务的公网访问端口为
8888。使用默认管理员admin登录,初始密码在Hue配置页面获取admin_pwd参数的值,详细信息请参见查看初始密码。
-
在Hue页面已显示Presto。
表示您可以通过Hue访问EMR集群的Presto服务。
-
可选:测试连通性。
在Presto SQL中输入以下命令,查询集群上Schema的列表。
show schemas当正确返回信息时,表示连通性正常。