Apache Presto – 安装
Apache Presto – 安装
本章将解释如何在您的机器上安装 Presto。让我们来看看 Presto 的基本要求,
- Linux 或 Mac 操作系统
- 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目录,用于存放日志、元数据等,方便升级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是上面创建的数据目录的位置路径。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 = http://localhost:8080
这里,
-
协调器– 主节点。
-
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 – 发现服务器的 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 = http://localhost: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 = http://localhost: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”将安装在您的机器上。
运行命令行
下载 presto-cli 后,将其复制到要运行它的位置。该位置可以是对协调器具有网络访问权限的任何节点。首先将 Jar 文件的名称更改为 Presto。然后使用以下代码使用chmod &plus 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