全部產品
Search
文件中心

E-MapReduce:使用獨立的Trino叢集

更新時間:Jul 01, 2024

建立獨立的Trino叢集後無法直接使用,需要進行相關的配置。本文為您介紹建立獨立的Trino叢集後,如何配置連接器和資料湖中繼資料,以使用獨立的Trino叢集。

背景資訊

在使用開源巨量資料平台E-MapReduce控制台時,您可以在建立DataLake叢集、自訂叢集或Hadoop叢集時選擇Trino服務,或者建立獨立的Trino叢集使用Trino服務。Trino叢集具備以下特點:

  • Trino獨享叢集資源,受其他組件幹擾少。

  • 支援Auto Scaling。

  • 支援資料湖分析與即時數倉。

  • 不儲存資料。

說明
  • Hudi和Iceberg不是實際的進程 ,不佔叢集資源。

  • Hue和JindoData服務(或SmartData服務),如果不使用,可以選擇停止。

如果要使用獨立的Trino叢集,需要先建立一個DataLake叢集、自訂叢集或Hadoop叢集,或使用已有的DataLake叢集、自訂叢集或Hadoop叢集作為資料集群。

建立完獨立的Trino叢集後,您需要進行以下配置:

配置連接器

在待使用的連接器中配置查詢對象。本文以Hive連接器為例介紹。

  1. 進入叢集服務頁面。

    1. 在頂部功能表列處,根據實際情況選擇地區和資源群組

    2. EMR on ECS頁面,單擊目的地組群操作列的叢集服務

  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****

配置資料湖中繼資料

說明

EMR-3.45.0及之後版本,EMR-5.11.0及之後版本,支援在建立叢集時自動設定。

如果資料表的中繼資料使用了DLF統一中繼資料,則還需為Hive、Iceberg和Hudi等連接器進行額外的配置。此時查詢不再依賴資料集群,hive.metastore.uri可以任意填寫,Trino能夠直接存取到同一個帳號下的DLF中繼資料。

資料湖中繼資料配置的詳細資料如下表。

參數

描述

備忘

hive.metastore

MetaStore類型。

固定值為DLF。

dlf.catalog.id

資料庫分類命名空間。

需要綁定的DLF資料目錄(Catalog),預設值是阿里雲帳號的帳號ID。

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;