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://127.0.0.1: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://127.0.0.1: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://127.0.0.1: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 
广告