本文为您介绍如何通过配置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以前版本 默认不支持
  1. 下载Presto的JDBC驱动
  2. 加载Presto的JDBC驱动
  3. 通过Hue访问EMR集群的Presto服务
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及后续版本 默认不支持
  1. 加载Presto的JDBC驱动
  2. 通过Hue访问EMR集群的Presto服务

下载Presto的JDBC驱动

  1. 使用SSH方式登录到集群,详细信息请参见登录集群
  2. 创建presto-jdbc的目录。
    mkdir -p /opt/apps/presto-jdbc/
  3. 下载相应版本的JDBC JAR包,并上传至/opt/apps/presto-jdbc/目录。
    1. 下载presto-jdbc
      例如,本文示例创建的是EMR-3.32.0版本的集群,因为Presto版本是338,所以您可以下载338版本的JDBC JAR包。Presto_version
      下载下图中的JAR包。JDBC-JAR
    2. 上传JAR包至/opt/apps/presto-jdbc/目录。
  4. 执行以下命令,修改文件权限。
    chmod 644 /opt/apps/presto-jdbc/*
  5. 执行以下命令,编辑文件hue.sh
    vim /etc/profile.d/hue.sh
  6. 添加以下内容至文件hue.sh最后一行。
    export CLASSPATH=/opt/apps/presto-jdbc/*:$CLASSPATH
    如下图所示:Edit file

加载Presto的JDBC驱动

  1. 进入Hue配置页面。
    1. 登录阿里云E-MapReduce控制台
    2. 在顶部菜单栏处,根据实际情况选择地域和资源组
    3. 单击上方的集群管理页签。
    4. 集群管理页面,单击相应集群所在行的详情
    5. 在左侧导航栏,选择集群服务 > Hue
    6. 在Hue服务页面,单击配置页签。
    7. 服务配置区域,单击hue
  2. 添加Hue自定义配置。
    1. 单击右上角的自定义配置
    2. 新增配置项对话框中,添加配置信息。
      • 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": ""}
    3. 配置信息添加完成后,单击确定
  3. 保存配置。
    1. 单击右上角的保存
    2. 确认修改对话框,填写执行原因,并开启自动更新配置
    3. 单击确定
  4. 部署配置。
    1. 单击上方的部署客户端配置
    2. 执行集群操作对话框,选择执行范围和失败处理策略,填写执行原因。
    3. 单击确定
    4. 确认对话框,单击确定
      1. 执行集群操作对话框中,输入执行原因,单击确定
      2. 确认对话框,单击确定
      3. 单击右上角查看操作历史查看任务进度,等待任务完成。
  5. 重启Hue。
    1. 在Hue集群服务页面,选择操作 > 重启Hue
    2. 执行集群操作对话框,选择执行范围和失败处理策略,填写执行原因。
    3. 单击确定
    4. 确认对话框,单击确定
      1. 执行集群操作对话框中,输入执行原因,单击确定
      2. 确认对话框,单击确定
      3. 单击右上角查看操作历史查看任务进度,等待任务完成。

通过Hue访问EMR集群的Presto服务

  1. 在左侧导航栏,单击访问链接与端口
  2. 单击Hue所在行的链接。
    Hue_port

    使用默认管理员admin登录,初始密码在Hue配置页面获取admin_pwd参数的值,详细信息请参见查看初始密码

  3. 在Hue页面已显示Presto。
    表示您可以通过Hue访问EMR集群的Presto服务。
  4. 可选:测试连通性。
    在Presto SQL中输入以下命令,查询集群上Schema的列表。
    show schemas

    当正确返回信息时,表示连通性正常。