Apache Presto - 安裝



本章將解釋如何在您的機器上安裝 Presto。讓我們瞭解 Presto 的基本要求:

  • Linux 或 Mac OS
  • Java 8 版本

現在,讓我們繼續以下步驟在您的機器上安裝 Presto。

驗證 Java 安裝

希望您現在已經在您的機器上安裝了 Java 8 版本,因此您可以使用以下命令進行驗證。

$ java -version 

如果 Java 已成功安裝在您的機器上,您可以看到已安裝 Java 的版本。如果未安裝 Java,請按照後續步驟在您的機器上安裝 Java 8。

下載 JDK。訪問以下連結下載最新版本的 JDK。

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

最新版本是 JDK 8u 92,檔名為“jdk-8u92-linux-x64.tar.gz”。請將檔案下載到您的機器上。

之後,解壓縮檔案並移動到特定目錄。

然後設定 Java 替代項。最後,Java 將安裝在您的機器上。

Apache Presto 安裝

訪問以下連結下載最新版本的 Presto:

https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.149/

現在,“presto-server-0.149.tar.gz”的最新版本將下載到您的機器上。

解壓 tar 檔案

使用以下命令解壓tar檔案:

$ tar  -zxf  presto-server-0.149.tar.gz 
$ cd presto-server-0.149 

配置設定

建立“data”目錄

在安裝目錄之外建立一個 data 目錄,用於儲存日誌、元資料等,以便在升級 Presto 時易於保留。它使用以下程式碼定義:

$ cd  
$ mkdir data

要檢視其所在路徑,請使用命令“pwd”。此位置將在下一個 node.properties 檔案中分配。

建立“etc”目錄

使用以下程式碼在 Presto 安裝目錄內建立一個 etc 目錄:

$ cd presto-server-0.149 
$ mkdir etc

此目錄將儲存配置檔案。讓我們逐個建立每個檔案。

節點屬性

Presto 節點屬性檔案包含每個節點特有的環境配置。它在 etc 目錄 (etc/node.properties) 內使用以下程式碼建立:

$ cd etc 
$ vi node.properties  

node.environment = production 
node.id = ffffffff-ffff-ffff-ffff-ffffffffffff 
node.data-dir = /Users/../workspace/Presto

完成所有更改後,儲存檔案並退出終端。這裡node.data是上面建立的 data 目錄的位置路徑。node.id表示每個節點的唯一識別符號。

JVM 配置

在 etc 目錄 (etc/jvm.config) 內建立一個檔案“jvm.config”。此檔案包含用於啟動 Java 虛擬機器的命令列選項列表。

$ cd etc 
$ vi jvm.config  

-server 
-Xmx16G 
-XX:+UseG1GC 
-XX:G1HeapRegionSize = 32M 
-XX:+UseGCOverheadLimit 
-XX:+ExplicitGCInvokesConcurrent 
-XX:+HeapDumpOnOutOfMemoryError 
-XX:OnOutOfMemoryError = kill -9 %p 

完成所有更改後,儲存檔案並退出終端。

配置屬性

在 etc 目錄 (etc/config.properties) 內建立一個檔案“config.properties”。此檔案包含 Presto 伺服器的配置。如果您正在設定一臺機器進行測試,Presto 伺服器只能充當協調程序,定義如下:

$ cd etc 
$ vi config.properties  

coordinator = true 
node-scheduler.include-coordinator = true 
http-server.http.port = 8080 
query.max-memory = 5GB 
query.max-memory-per-node = 1GB 
discovery-server.enabled = true 
discovery.uri = https://:8080

這裡:

  • coordinator - 主節點。

  • node-scheduler.include-coordinator - 允許在協調器上排程工作。

  • http-server.http.port - 指定 HTTP 伺服器的埠。

  • query.max-memory=5GB - 分散式記憶體的最大量。

  • query.max-memory-per-node=1GB - 每個節點的最大記憶體量。

  • discovery-server.enabled - Presto 使用 Discovery 服務查詢叢集中的所有節點。

  • discovery.uri - Discovery 伺服器的 URI。

如果您正在設定多臺機器的 Presto 伺服器,Presto 將同時充當協調程序和工作程序。使用此配置設定在多臺機器上測試 Presto 伺服器。

協調器配置

$ cd etc 
$ vi config.properties  

coordinator = true 
node-scheduler.include-coordinator = false 
http-server.http.port = 8080 
query.max-memory = 50GB 
query.max-memory-per-node = 1GB 
discovery-server.enabled = true 
discovery.uri = https://:8080 

工作器配置

$ cd etc 
$ vi config.properties  

coordinator = false 
http-server.http.port = 8080 
query.max-memory = 50GB 
query.max-memory-per-node = 1GB 
discovery.uri = https://:8080

日誌屬性

在 etc 目錄 (etc/log.properties) 內建立一個檔案“log.properties”。此檔案包含命名日誌記錄器層次結構的最小日誌級別。它使用以下程式碼定義:

$ cd etc 
$ vi log.properties  
com.facebook.presto = INFO

儲存檔案並退出終端。這裡使用了四個日誌級別,例如 DEBUG、INFO、WARN 和 ERROR。預設日誌級別為 INFO。

目錄屬性

在 etc 目錄 (etc/catalog) 內建立一個目錄“catalog”。這將用於掛載資料。例如,使用以下內容建立etc/catalog/jmx.properties以將jmx 聯結器掛載為 jmx 目錄:

$ cd etc 
$ mkdir catalog 
$ cd catalog 
$ vi jmx.properties  
connector.name = jmx 

啟動 Presto

可以使用以下命令啟動 Presto:

$ bin/launcher start 

然後您將看到類似於此的響應:

Started as 840

執行 Presto

要啟動 Presto 伺服器,請使用以下命令:

$ bin/launcher run

成功啟動 Presto 伺服器後,您可以在“var/log”目錄中找到日誌檔案。

  • launcher.log - 此日誌由啟動器建立,並連線到伺服器的 stdout 和 stderr 流。

  • server.log - 這是 Presto 使用的主要日誌檔案。

  • http-request.log - 伺服器接收到的 HTTP 請求。

目前,您已成功在您的機器上安裝了 Presto 配置設定。讓我們繼續安裝 Presto CLI 的步驟。

安裝 Presto CLI

Presto CLI 提供了一個基於終端的互動式 shell,用於執行查詢。

訪問以下連結下載 Presto CLI:

https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.149/

現在,“presto-cli-0.149-executable.jar”將安裝在您的機器上。

執行 CLI

下載 presto-cli 後,將其複製到您想要從中執行它的位置。此位置可以是任何可以訪問協調器的節點。首先將 Jar 檔名更改為 Presto。然後使用以下程式碼使用chmod + x命令使其可執行:

$ mv presto-cli-0.149-executable.jar presto  
$ chmod +x presto

現在使用以下命令執行 CLI:

./presto --server localhost:8080 --catalog jmx --schema default  
Here jmx(Java Management Extension) refers to catalog and default referes to schema. 

您將看到以下響應:

 presto:default>

現在在您的終端上鍵入“jps”命令,您將看到正在執行的守護程式。

停止 Presto

完成所有執行後,您可以使用以下命令停止 presto 伺服器:

$ bin/launcher stop 
廣告
© . All rights reserved.