安裝和配置 Trino

jodkreaper 發佈 2022-03-10T16:24:49+00:00

Query 20181105_001601_00002_e6r6y, FINISHED, 1 node Splits: 21 total, 21 done 0:06。

在第 1 章中,你了解了 Trino 及其可能的使用場景,現在可以開始嘗試了。在本章中,你將了解如何安裝 Trino、配置數據源並查詢數據。

2.1 使用docker容器嘗試Trino

Trino 項目提供了 Docker 容器,便於啟動配置好的 Trino 演示環境,用於初步了解並探索 Trino。

要在 Docker 里運行 Trino,需要先在機器上安裝 Docker,這可以從 Docker 的官方網站下載,或使用作業系統所提供的包管理系統。

使用 docker 命令下載容器鏡像,將其命名為 Trino-trial 並保存在本地,然後在後台運行它:

現在讓我們連接到容器內,並使用 Trino 命令行界面(CLI)執行 Trino 命令。這會連接到同一容器里運行著的 Trino 伺服器。接下來,在命令提示行中可以執行一個在 TPC-H 基準測試數據表上的查詢。

docker exec -it trino-trial trino

trino> select count(*) from tpch.sf1.nation;

_col0

-------

25

(1 row)

Query 20181105_001601_00002_e6r6y, FINISHED, 1 node Splits: 21 total, 21 done (100.00%) 0:06 [25 rows, 0B] [4 rows/s, 0B/s]  

注意:如果你嘗試運行 Docker 並遇到了如下錯誤:Query xx failed: Trino server is still initializing,請等待一段時間後重試上一條命令。

利用 SQL 知識,你可以進一步探索這一數據集。可以使用 help 命令了解 Trino CLI,更多有關使用 CLI 的信息,參見 3.1 節。

當你結束探索時,可以使用 quit 命令退出。

執行下列命令就可以停止並移除之前的容器:

$ docker stop trino-trial

trino-trial

$ docker rm trino-trial

trino-trial

如果想進一步試驗,則可以使用同樣的命令運行 Trino。如果試用結束並不再需要 Docker 鏡像,則可以通過下列命令刪除所有相關的 Docker 資源:

$ docker rmi trinodb/trino

Untagged: trinodb/trino:latest ...

Deleted: sha256:877b494a9f...

使用歸檔文件安裝

使用 Docker 初試 Trino 後,可以選擇在本地的工作站或伺服器上安裝 Trino。

Trino 可以運行在大多數現代 Linux 發行版和 macOS 上,它依賴 Java 虛擬機(JVM)和 python 環境。

2.2.1 JVM

Trino 使用 Java 編寫並要求你的系統內安裝有 JVM。Trino 需要 Java 的長期支持版本 Java 11,不支持更舊版本的 Java,而在更新版本的 Java 環境下它也許可以正常工作,但並未仔細測試。

下列命令確認 java 命令已經安裝並且在 PATH 環境變量中:

$ java --version

openjdk 11.0.8 2020-07-14 LTS OpenJDK Runtime Environment Zulu11.41+23-CA (build 11.0.8+10-LTS) OpenJDK 64-Bit Server VM Zulu11.41+23-CA (build 11.0.8+10-LTS, mixed mode)

若沒有安裝 Java 11,Trino 就會啟動失敗。

2.2.2 Python

Trino 的啟動器腳本依賴 Python 2.6 或更高版本。

下列命令確認 python 命令已經安裝並且在 PATH 環境變量中:

$ python --version

Python 3.9.2

2.2.3 安裝

Trino 的二進位包使用 Maven 中心倉庫分發。服務端應用程式可以通過一個 tar.gz 歸檔文件獲得。

你可以通過以下連結獲得可用的版本列表:

https://repo.maven.apache.org/maven2/io/trino/trino-server.

先找到最大的版本號(代表最新發布的版本),進入對應的文件夾並下載 tar.gz 文件。也可以使用命令行工具下載歸檔文件。例如,使用 wget 命令下載 330 版本:

$ wget https://repo.maven.apache.org/maven2/\ io/trino/trino-server/354/trino-server-354.tar.gz

然後提取歸檔文件:

$ tar xvzf trino-server-*.tar.gz

提取過程會創建一個頂級目錄,其名稱和歸檔文件名相同,但不帶擴展名。這一目錄被稱為安裝目錄。

安裝目錄包含下列子目錄。

lib

  包含組成 Trino 服務端及其全部依賴關係的 Java 歸檔文件(JAR)。

plugins

  包含 Trino 插件及其依賴關係,各個插件分開存放在不同的目錄下。Trino 默認已經包含許多插件,你也可以添加第三方插件。Trino 允許多種可插拔的組件,如連接器、函數和安全訪問控制等與其集成。

bin

  包含 Trino 的啟動腳本。這些腳本用於啟動、停止、重啟、終結 Trino 進程,以及獲得運行該進程的狀態。你可以在 5.6 節中了解更多有關這些腳本的使用。

etc

  配置文件所在的目錄。此目錄由用戶創建並提供 Trino 必需的配置文件。你可以在 5.1 節中找到更多有關配置選項的信息。

var

  存放日誌信息的數據目錄。Trino 服務端第一次啟動時會創建此目錄,它默認情況下位於安裝目錄下。我們推薦將其配置為安裝目錄之外的位置,以便在升級過程中保留這些數據。

2.2.4 配置

啟動 Trino 前,需要先提供一些配置文件:

1、Trino 日誌配置

2、Trino 節點配置

3、JVM 配置

默認情況下,配置文件應存放在安裝目錄下的 etc 目錄里。

除了 JVM 配置之外,其他配置文件的格式遵循 Java properties 標準。簡單來說,在 Java properties 中,每個配置參數都以 key=value 字符串對的格式存儲為一行。

你需要在 2.2.3 節創建的 Trino 安裝目錄中創建這些基本的配置文件,或在本書的 Git 倉庫(參見 1.4.6 節)中找到可以直接使用的配置文件。下面是三個配置文件的內容。

etc/config.properties


etc/node.properties


etc/jvm.config


上述的配置文件就緒後,Trino 就可以啟動了。可以在第 5 章中找到這些配置文件更詳細的描述。

2.3 添加數據源

雖然已經安裝好了 Trino,但還不能就這樣啟動它。畢竟,你想要在 Trino 里查詢一些外部數據,這需要你將一個數據源配置為 catalog。

Trino 的 catalog 定義了用戶可用的數據源。數據訪問是由 Trino 連接器執行的,該連接器由 connector.name 屬性在 catalog 中配置。catalog 將數據源中的所有 schema 和表暴露給 Trino。

例如,Hive 連接器將每個 Hive 資料庫映射到一個 schema。如果想要使用 Hive 連接器將一個名為 web 的 Hive 資料庫(其中包含一張 clicks 表)暴露為名為 sitehive 的 catalog,那麼我們需要在 catalog 文件中指定使用 Hive 連接器。你可以使用完全限定名語法 catalog.schema.table 來訪問 catalog,本例中就是 sitehive.web.clicks。

可以通過在 etc/catalog 目錄下創建一個 catalog 屬性文件來註冊 catalog。該文件的名稱就是 catalog 在系統中的名稱。比如,你創建了 etc/catalog/cdh-hadoop.properties、etc/catalog/sales.properties、etc/catalog/web-traffic.properties 和 etc/catalog/mysql-dev.properties 等 catalog 屬性文件,則這些 catalog 在 Trino 里就是 cdh-hadoop、sales、web-traffic 和 mysql-dev。

可以使用 TPC-H 連接器探索 Trino。TPC-H 連接器內置於 Trino 中並提供了一系列的 schema 用於支持 TPC-H。你可以在 6.3 節中了解更多信息。

要配置 TPC-H 連接器,需要創建一個 catalog 屬性文件 etc/catalog/tpch.properties,並將連接器配置為 tpch:

connector.name=tpch 每個 catalog 文件都必須有 connector.name 屬性。額外的屬性由對應 Trino 連接器的實現決定。這些內容在 Trino 的文檔中都有介紹,你也可以在第 6 章和第 7 章中了解更多信息。

本書倉庫包含了一系列 catalog 文件,來幫助你學習 Trino。

2.4 運行Trino

現在你終於真正準備好啟動 Trino 了。安裝目錄下包含了啟動腳本,你可以用它們來啟動 Trino:

$ bin/launcher run run 命令將 Trino 啟動為前台進程,Trino 的日誌和其他輸出將寫入標準輸出流(stdout)和標準錯誤流(stderr)。成功啟動後會有一條日誌,你一段時間後應該可以看到以下輸出:

INFO main io.Trinosql.server.TrinoServer ======== SERVER STARTED 在前台運行 Trino 有助於測試和快速檢驗進程能否正確啟動,以及它是否使用了期望的配置。可以使用 Ctrl-C 組合鍵結束伺服器進程。

5.6 節和 5.3 節分別介紹了有關啟動器腳本和日誌的更多信息。

2.5 小結

本章的內容讓你了解到安裝和啟動 Trino 非常容易。現在可以啟動它並將其投入使用了。

在第 3 章中,你將了解如何與 Trino 交互並用其查詢配置好的數據源。你也可以直接跳到第 6 章和第 7 章來學習多種其他的連接器,並為你自己添加更多的 catalog。

關鍵字: