Presto集群安装部署




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

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/log

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

mkdir conf
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:日志文件配置
  • catalogs/hive.properties:数据源连接器的配置,例如Hive数据源

1)Node Properties

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

vim node.properties

node.properties

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

2)JVM Config

在conf目录下,新建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

在conf目录下,新建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

相关推荐

  1. Presto安装部署

    2023-12-11 11:04:03       46 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-11 11:04:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-11 11:04:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-11 11:04:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-11 11:04:03       20 阅读

热门阅读

  1. springboot自定义cron定时任务执行

    2023-12-11 11:04:03       38 阅读
  2. 第三十一章 控制到 XML 模式的映射 - %ListOfDataTypes

    2023-12-11 11:04:03       24 阅读
  3. SAP ABAP 对象ALV的一些功能(ALV资料五)

    2023-12-11 11:04:03       29 阅读
  4. # C语言——预处理(#define,#if..)

    2023-12-11 11:04:03       28 阅读
  5. TS条件类型、断言及名义类型

    2023-12-11 11:04:03       37 阅读
  6. Electron[5] 渲染进程和主进程

    2023-12-11 11:04:03       42 阅读
  7. 【打卡】牛客网:BM61 矩阵最长递增路径

    2023-12-11 11:04:03       35 阅读
  8. 线材连接器

    2023-12-11 11:04:03       34 阅读
  9. 快速幂 FastPower

    2023-12-11 11:04:03       45 阅读