Presto集群安装部署

2023-12-13 21:40:18




1、PrestoSQL概述


2020年12月27日,PrestoSQL为了更好的与Facebook的Presto进行区分而改名为Trino。PrestoSQL/Trino是一种分布式SQL查询引擎,旨在查询分布在一个或多个异构数据源上的大型数据集

PrestoSQL官网:https://trino.io

PrestoSQL官方文档:https://trino.io/docs/current/overview.html

更多关于Presto的介绍详见文章:传送门

本文主要详细介绍PrestoSQL的安装部署过程

Presto-330版本里已经提到,jdk8只支持到2020-03月发行的版本。详情参考:https://prestosql.io/docs/current/release/release-330.html

Presto-315是最后一个支持jdk8环境的版本,如果想使用更新版本的Presto,可以为Presto单独指定jdk11。本文Presto安装部署使用Presto-315版本

2、PrestoSQL安装部署

2.1、集群规划


在单独一台服务器上配置Coordinator,有利于提高集群性能,因此,可以在node01上配置Coordinator,在node02、node03上配置Worker。当然也可以将在Coordinator所在的节点上部署Worker

本次Presto安装部署使用如下规划:

Host Coordinator Worker
node01
node02 ×
node03 ×

2.2、安装部署

2.2.1、Presto Server安装

1) 下载安装包:https://repo1.maven.org/maven2/io/prestosql/presto-server/315/

2)presto-server-315.tar.gz上传到node01服务器上,并解压,修改名称为presto-315

tar -zvxf presto-server-315.tar.gz -C /opt/module/

3) 在安装目录presto-315下创建存储Presto数据(日志等)的目录 (Presto集群的每台机器都要创建)

mkdir -p /data

4) 在安装目录presto-315下创建etc目录,用来存放各种配置文件

mkdir etc
2.2.2、Presto Server配置文件

Persto-Server启动需要node.propertiesjvm.configconfig.propertieslog.properties及连接Catalog数据源5大配置

  • node.properties:每个节点的环境配置
  • jvm.config:JVM的命令行选项
  • config.properties:Presto Server的配置项
  • log.properties:日志文件配置
  • catalog/hive.properties:数据源连接器的配置,例如Hive数据源

1)Node Properties

在etc目录下,新建node.properties配置文件配置Presto集群属性(其它节点修改node.id

vim node.properties

node.properties

# 集群名称,环境名称,自己任取。集群中的所有Presto节点必须具有相同的环境名称
node.environment=dev
# 节点唯一标识符,支持字母、数字。这个标识符应该在重启或升级Presto时保持一致
node.id=1
# 指定Presto的日志和其它数据的存储目录(前面创建好的数据目录)
node.data-dir=/opt/module/presto-315/data

2)JVM Config

在etc目录下,新建jvm.config配置文件配置启动JVM时候需要使用的命令行选项

vim jvm.config

jvm.config

# 参考官方给的配置,根据自身机器实际内存进行配置
-server
# 最大jvm内存
-Xmx16G
# 指定GC的策略
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
-XX:ReservedCodeCacheSize=256M

3)Config Properties

在etc目录下,新建config.properties配置文件用于指定Coordinator和Worker节点,并配置一些相关属性

vim config.properties

config.properties(Coordinator节点)

# 该节点是否作为Coordinator,如果是true就允许该Presto实例充当协调器
coordinator=true
# 是否允许在协调器上调度工作(即配置Worker节点)
# 对于较大的集群,协调器上的处理工作可能会影响查询性能,因为机器的资源无法用于调度、管理和监视查询执行的关键任务
# 如果不想在协调器所在的节点配置Worker节点,改为false即可
node-scheduler.include-coordinator=true
# 指定HTTP服务器的访问端口,可以自己指定。Presto使用HTTP进行所有内部和外部通信
http-server.http.port=8090
# 每个查询可以使用的最大分布式内存量
query.max-memory=10GB
# 查询可在任何一台计算机上使用的最大用户内存量
query.max-memory-per-node=1GB
# 查询可在任何一台计算机上使用的最大用户和系统内存量,其中系统内存是读取器

文章来源:https://blog.csdn.net/weixin_55629186/article/details/134912019
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。