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

配置设置

创建"数据"目录

在安装目录外创建一个数据目录,用于存储日志,元数据等,因此在升级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配置

创建文件"jvm.config"在etc目录中(etc/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目录中创建一个文件"config.properties"(etc/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 : 他是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 = 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目录中的"log.properties"文件(etc/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 start

成功启动Presto服务器后,您可以在"var/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