# Presto部署及使用
# 1. 安装Presto
下载Presto服务器tarball presto-server-0.229.tar.gz并解压缩。压缩包将包含一个顶级目录, presto-server-0.229我们将其称为安装目录。
presto需要一个数据存储日志等建议创建的安装目录,这使得它能够升级presto时容易保存的数据目录之外的目录。
# 2. 配置Presto
在安装目录中创建一个目录etc。这个目录具有以下配置: 节点属性:特定于每个节点的环境配置
JVM Config:Java虚拟机的命令行选项
Config属性:Presto服务器的配置
目录属性:连接器的配置(数据源)
# 2.1 节点属性
节点属性文件etc/node.properties包含特定于每个节点的配置。A节点是一台机器上的Presto的单个安装的实例。此文件通常是在首次安装Presto时由部署系统创建的。以下是最低要求etc/node.properties:
node.environment=production
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff
node.data-dir=/var/presto/data
上述属性描述如下: node.environment:环境名称。群集中的所有Presto节点必须具有相同的环境名称。
node.id:这是Presto安装的唯一标识符。对于每个节点都必须是唯一的。在重新启动或升级Presto时,该标识符应保持一致。如果在一台计算机上运行多个Presto安装(即同一台计算机上的多个节点),则每个安装必须具有唯一的标识符。
node.data-dir:数据目录的位置(文件系统路径)。Presto将在此处存储日志和其他数据。
# 2.2 JVM配置
JVM配置文件etc/jvm.config包含用于启动Java虚拟机的命令行选项列表。文件的格式是选项列表,每行一个。这些选项不会由Shell程序解释,因此不应使用空格或其他特殊字符将选项引起来。
以下是创建的良好起点etc/jvm.config:
-server
-Xmx16G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
因为OutOfMemoryError通常会使JVM处于不一致状态,所以我们编写了一个堆转储(用于调试)在发生这种情况时强行终止这个