创建独立的Trino集群后无法直接使用,需要进行相关的配置。本文为您介绍创建独立的Trino集群后,如何配置连接器和数据湖元数据,以使用独立的Trino集群。

背景信息

在使用开源大数据平台E-MapReduce控制台时,您可以在创建DataLake集群、自定义集群或Hadoop集群时选择Trino服务,或者创建独立的Trino集群使用Trino服务。Trino集群具备以下特点:
  • Trino独享集群资源,受其他组件干扰少。
  • 支持弹性伸缩。
  • 支持数据湖分析与实时数仓。
  • 不存储数据。
说明
  • Hudi和Iceberg不是实际的进程 ,不占集群资源。
  • Hue和JindoData服务(或SmartData服务),如果不使用,可以选择停止。

如果要使用独立的Trino集群,需要先创建一个DataLake集群、自定义集群或Hadoop集群,或使用已有的DataLake集群、自定义集群或Hadoop集群作为数据集群。

创建完独立的Trino集群后,您需要进行以下配置:

配置连接器

在待使用的连接器中配置查询对象。本文以Hive连接器为例介绍。

  1. 进入集群服务页面。
    1. 登录EMR on ECS控制台
    2. 在顶部菜单栏处,根据实际情况选择地域和资源组
    3. 集群管理页面,单击目标集群操作列的集群服务
  2. 集群服务页面,单击Trino服务区域的配置
  3. 修改配置项。
    1. 服务配置区域,单击hive.properties页签。
    2. 修改hive.metastore.uri的参数值为数据集群Trino服务中的hive.metastore.uri的参数值。
  4. 保存配置。
    1. 单击右侧的保存
    2. 确认修改对话框中,配置相关参数,单击确定
  5. 生效配置。
    1. 单击右侧的部署客户端配置
    2. 执行集群操作对话框中,配置相关参数,单击确定
    3. 确认对话框中,单击确定
  6. 重启Trino服务,详情请参见操作步骤
  7. 配置host。
    重要 如果待查询的数据全部保存在OSS上,或者建表语句时指定了Location,则可以不用配置host。

    Hive的部分表在创建时,会默认指定路径,因此在查询保存在数据集群上的数据时,为了查询时能够读取到这些表,Trino集群的每一台主机都需要配置host。

    • 方式一(推荐):您可以在EMR控制台,通过添加集群脚本或引导操作,来实现配置host,详情请参见手动执行脚本管理引导操作
    • 方式二:直接修改host文件。具体步骤如下所示。
      1. 获取数据集群Master节点的内网IP地址。在E-MapReduce控制台的节点管理页面,单击主实例组所在行的add图标。即可查看节点的内网IP地址。
      2. 登录数据集群,详情请参见登录集群
      3. 执行hostname命令,获取主机名。
        例如,主机名形式如下:
        • Hadoop集群:emr-header-1.cluster-26****。
        • 其余集群:master-1-1.c-f613970e8c****。
      4. 登录Trino集群,详情请参见登录集群
      5. 执行以下命令,编辑文件hosts
        vim /etc/hosts
      6. 添加以下内容至文件hosts最后一行。
        添加数据集群Master节点的内网IP地址和主机名至Trino集群所有主机/etc/目录下的hosts文件中。
        • Hadoop集群
          192.168.**.** emr-header-1.cluster-26****
        • 其余集群
          192.168.**.** master-1-1.c-f613970e8c****

配置数据湖元数据

如果数据表的元数据使用了DLF统一元数据,则还需为Hive、Iceberg和Hudi等连接器进行额外的配置。此时查询不再依赖数据集群,hive.metastore.uri可以任意填写,Trino能够直接访问到同一个账号下的DLF元数据。

数据湖元数据配置的详细信息如下表。
参数 描述 备注
hive.metastore MetaStore类型。 固定值为DLF。
dlf.catalog.region DLF服务的地域名。 详情请参见已开通的地域和访问域名
说明 请和dlf.catalog.endpoint选择的地域保持一致。
dlf.catalog.endpoint DLF服务的Endpoint。 详情请参见已开通的地域和访问域名
推荐您设置dlf.catalog.endpoint参数为DLF的VPC Endpoint。例如,如果您选择的地域为cn-hangzhou地域,则dlf.catalog.endpoint参数需要配置为dlf-vpc.cn-hangzhou.aliyuncs.com。
说明 您也可以使用DLF的公网Endpoint,如果您选择的地域为cn-hangzhou地域,则dlf.catalog.endpoint参数需要配置为dlf.cn-hangzhou.aliyuncs.com。
dlf.catalog.akMode DLF服务的Access Key模式。 建议配置为EMR_AUTO。
dlf.catalog.proxyMode DLF服务的代理模式。 建议配置为DLF_ONLY。
dlf.catalog.uid 阿里云账号的账号ID。 登录账号信息,请通过用户信息页面获取。获取登录账号

示例:查询表信息

  1. 通过命令方式访问Trino,详情请参见通过命令方式访问Trino
  2. 执行以下命令,查询test_hive表信息。
    select * from hive.default.test_hive;