trino-435: 集群部署

news2025/1/18 20:19:19

一、源码编译打包

现在本地使用idea工具对trino源码进行打包编译,并对trino服务信息进行压缩用于上传到linux服务器,如下所示:
在这里插入图片描述
编译打包过程中遇到的问题
对core下的trino-server-rpm模块进行mavn install时候出现某jar:客户端没有所需的特权 ,解决方式是将idea以管理员的身份进行运行即可解决该问题。

二、集群部署

1、集群规划
节点是否为coordinator
node1true
node2false
node3false
2、trino服务配置

将trino服务压缩包分别上传的node1、node2和node3节点,使用unzip对压缩包进行解压并在解压后的目录下创建etc目录,如下所示:
在这里插入图片描述

3、etc目录下的配置文件:
(1)node1(coordinator节点)

config.properties:
主要用于配置服务所需要的配置信息

coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=${port}
discovery.uri=http://${host}:${port}
catalog.management=DYNAMIC
catalog.store=JDBC
catalog.config-db-url= jdbc:mysql://${host}:${port}/${数据库名称} #动态数据源mysql存储url
catalog.config-db-user=${用户名} #动态数据源mysql存储:用户名
catalog.config-db-password=${密码}#动态数据源mysql存储:密码
catalog.read-only=false

node.properties:
主要用于配置服务节点的元数据信息

node.environment=test
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff
node.data-dir=${path}/data

jvm.config:
用于配置服务jvm的信息

-server
-Xmx1G
-XX:InitialRAMPercentage=80
-XX:MaxRAMPercentage=80
-XX:G1HeapRegionSize=32M
-XX:+ExplicitGCInvokesConcurrent
-XX:+ExitOnOutOfMemoryError
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-XX:ReservedCodeCacheSize=512M
-XX:PerMethodRecompilationCutoff=10000
-XX:PerBytecodeRecompilationCutoff=10000
-Djdk.attach.allowAttachSelf=true
-Djdk.nio.maxCachedBufferSize=2000000
-XX:+UnlockDiagnosticVMOptions
-XX:+UseAESCTRIntrinsics

log.properties:
用于配置服务日志信息

io.trino=INFO
(2)node2(worker节点)

config.properties:
与coordinator的区别在于coordinator=false,取消node-scheduler.include-coordinator配置,其他配置保持一致

coordinator=false
http-server.http.port=${port}
discovery.uri=http://${host}:${port}
catalog.management=DYNAMIC
catalog.store=JDBC
catalog.config-db-url= jdbc:mysql://${host}:${port}/${数据库名称} #动态数据源mysql存储url
catalog.config-db-user=${用户名} #动态数据源mysql存储:用户名
catalog.config-db-password=${密码}#动态数据源mysql存储:密码
catalog.read-only=false

node.properties:
与coordinator的区别在于node.id配置要保持唯一性

node.environment=test
node.id=ffffffff-ffff-ffff-ffff-fffffffffffe
node.data-dir=${path}/data

jvm.config:
与coordinator配置属性保持一致

-server
-Xmx2G
-XX:InitialRAMPercentage=80
-XX:MaxRAMPercentage=80
-XX:G1HeapRegionSize=32M
-XX:+ExplicitGCInvokesConcurrent
-XX:+ExitOnOutOfMemoryError
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-XX:ReservedCodeCacheSize=512M
-XX:PerMethodRecompilationCutoff=10000
-XX:PerBytecodeRecompilationCutoff=10000
-Djdk.attach.allowAttachSelf=true
-Djdk.nio.maxCachedBufferSize=2000000
-XX:+UnlockDiagnosticVMOptions
-XX:+UseAESCTRIntrinsics

log.properties:
与coordinator配置属性保持一致

io.trino=INFO
(3)node3(worker节点)

config.properties:
与coordinator的区别在于coordinator=false,取消node-scheduler.include-coordinator配置,其他配置保持一致

coordinator=false
http-server.http.port=${port}
discovery.uri=http://${host}:${port}
catalog.management=DYNAMIC
catalog.store=JDBC
catalog.config-db-url= jdbc:mysql://${host}:${port}/${数据库名称} #动态数据源mysql存储url
catalog.config-db-user=${用户名} #动态数据源mysql存储:用户名
catalog.config-db-password=${密码}#动态数据源mysql存储:密码
catalog.read-only=false

node.properties:
与coordinator的区别在于node.id配置要保持唯一性

node.environment=test
node.id=ffffffff-ffff-ffff-ffff-fffffffffffe
node.data-dir=${path}/data

jvm.config:
与coordinator配置属性保持一致

-server
-Xmx2G
-XX:InitialRAMPercentage=80
-XX:MaxRAMPercentage=80
-XX:G1HeapRegionSize=32M
-XX:+ExplicitGCInvokesConcurrent
-XX:+ExitOnOutOfMemoryError
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-XX:ReservedCodeCacheSize=512M
-XX:PerMethodRecompilationCutoff=10000
-XX:PerBytecodeRecompilationCutoff=10000
-Djdk.attach.allowAttachSelf=true
-Djdk.nio.maxCachedBufferSize=2000000
-XX:+UnlockDiagnosticVMOptions
-XX:+UseAESCTRIntrinsics

log.properties:
与coordinator配置属性保持一致

io.trino=INFO

依次启动trino服务node1(coordinator节点)、node2(worker节点)、node3(worker几点)。需要注意的是要先将coordinator节点启动成功再去启动worker节点。服务启动成功的ui界面如下:
在这里插入图片描述

三、trino客户端

trino源码编译打包后,将下图红框内trino客户端jar包上传到服务器或者复制到本地某个目录下
在这里插入图片描述
该jar包的启动命令如下:
其中host、和port和coordiantor节点的配置保持一致

java -jar trino-cli-435-executable.jar --server http://${host}:${port}

本地trino客户端测试如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1345040.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在Linux运行LaTeX

共有三个步骤1. 装LaTexTeX Live - TeX Users Group 下载对应版本安装包安装 文件比较大,这步花的时间多一点,不过也不会太多,感觉5分钟十分钟的样子吧 2. 装TexStidio 这一步是安装一个类似在windows系统下的TaTeX GUI软件 图标是这样3. 配置…

【算法与数据结构】763、LeetCode划分字母区间

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:本题要求为: 1.尽可能多的划分片段2.字母只能出现在一个片段中3.片段连接起来仍然是s&…

数据库开发表操作案例的详细解析

2.3.1.4 案例 需求:根据产品原型/需求创建表((设计合理的数据类型、长度、约束) 产品原型及需求如下: 步骤: 阅读产品原型及需求文档,看看里面涉及到哪些字段。 查看需求文档说明,确认各个字段的类型以及字段存储数据…

若依framework模块解读,Java小白入门(六)

切面编程我们单独作为一个章节进行了分析,这一节我们来看若依framework模块其他部分的内容,其中,关于安全的部分,这个章节暂时不深入,需要单独一个章节结合token认证等一起讨论。 配置 config 这个也不需要多展开&…

io流——转换流

1 为什么需要转换流 为啥 乱码的原理 怎么解决? 1 让两边编码一样 2 使用转换流 2 转换流

推荐:一个不错的介绍Apache Doris的PPT

原来Apache Doris居然是百度开源出来的,不错。部分节选:完整下载地址网盘: 链接: https://pan.baidu.com/s/18WR70R_f72GxCjh0lykStQ 提取码: umd3 复制这段内容后打开百度网盘手机App,操作更方便哦 --来自百度网盘超级会员v7的分…

猪目标检测数据集VOC格式600张

猪是一种常见的哺乳动物,通常被人们认为是肉食动物,但实际上猪是杂食性动物,以植物性食物为主,也有偶尔食肉的习性。猪的体型较大,圆胖的体型和圆润的脸庞使其显得憨态可掬。它们主要通过嗅觉来感知周围环境&#xff0…

信号与线性系统翻转课堂笔记16——离散LTI系统的各类响应

信号与线性系统翻转课堂笔记16——离散LTI系统的各类响应 The Flipped Classroom16 of Signals and Linear Systems 对应教材:《信号与线性系统分析(第五版)》高等教育出版社,吴大正著 一、要点 (1,重点…

云原生|kubernetes|kubernetes资源备份和集群迁移神器velero的部署和使用

前言: kubernetes集群需要灾备吗?kubernetes需要迁移吗? 答案肯定是需要的 那么,如何做kubernetes灾备和迁移呢?当然了,有很多的方法,例如,自己编写shell脚本,或者使用…

Elasticsearch 8.X进阶搜索之“图搜图”实战

Elasticsearch 8.X “图搜图”实战 1、什么是图搜图? "图搜图"指的是通过图像搜索的一种方法,用户可以通过上传一张图片,搜索引擎会返回类似或者相关的图片结果。这种搜索方式不需要用户输入文字,而是通过比较图片的视…

goframe v2 模板引擎的用法

这里用的goframe v2框架 提醒:下面的import 引入的控制器和api,根据自己实际项目路径 main函数 import ("context""github.com/gogf/gf/v2/net/ghttp""github.com/gzdzh/dzhgo/modules/dzhCms/controller/web""gith…

【三维目标检测/自动驾驶】IA-BEV:基于结构先验和自增强学习的实例感知三维目标检测(AAAI 2024)

系列文章目录 论文:Instance-aware Multi-Camera 3D Object Detection with Structural Priors Mining and Self-Boosting Learning 地址:https://arxiv.org/pdf/2312.08004.pdf 来源:复旦大学 英特尔Shanghai Key Lab /美团 文章目录 系列文…

本地引文建设指南

以下是引文建设如何帮助链接建设和网站可见性,以及如何开始建设本地引文。 您上一次进行本地在线搜索是什么时候? 当您想查找您所在地区的产品或服务时,您会翻开老式的电话簿,还是使用您最喜欢的搜索引擎? 想想吧&a…

【Transformer】深入理解Transformer模型2——深入认识理解(下)

前言 Transformer模型出自论文:《Attention is All You Need》 2017年 近年来,在自然语言处理领域和图像处理领域,Transformer模型都受到了极为广泛的关注,很多模型中都用到了Transformer或者是Transformer模型的变体&#xff0…

WPF 显示气泡提示框

气泡提示框应用举例 有时候在我们开发的软件经常会遇到需要提示用户的地方,为了让用户更直观,快速了解提示信息,使用简洁、好看又方便的气泡提示框显得更加方便,更具人性化。如下面例子:(当用户未输入账号时&#xff0…

【超详细教程】GoogleTest CMake直接构建(无需安装,手把手教程)

文章目录 相关教程相关文献CMake工程构建CMakeLists.txt(能访问GitHub)CMakeLists.txt(不能访问GitHub)官方测试用例 配置CMake打包gtest.a: 作者:小猪快跑 基础数学&计算数学,从事优化领域…

模式识别与机器学习-判别式分类器

模式识别与机器学习-判别式分类器 生成式模型和判别式模型的区别线性判别函数多分类情况多分类情况1多分类情况2多分类情况3 例题 广义线性判别函数实例 分段线性判别函数Fisher线性判别感知机算法例:感知机多类别分类 谨以此博客作为学习期间的记录 生成式模型和判…

最小覆盖子串(LeetCode 76)

文章目录 1.问题描述2.难度等级3.热门指数4.解题思路参考文献 1.问题描述 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。 注意: 对于 t 中重复字符&#xff…

超详细YOLOv8姿态检测全程概述:环境、训练、验证与预测详解

目录 yolov8导航 YOLOv8(附带各种任务详细说明链接) 搭建环境说明 不同版本模型性能对比 不同版本对比 参数解释 模型解释 训练 训练示意代码 训练数据与.yaml配置方法 .yaml配置 数据集路径 标签数据说明 训练参数说明 训练过程示意及输出…

使用 Spring Boot + MyBatis开发需要注意的事项以及开发模版

前言: 注意,本篇不适用于有相关开发经验的开发者,作为一个在职开发者,我经常在完成从0-1的模块,也就是从数据库表开始到创建实体类,以及dao层,Service层等业务需要添加相关注解,这样…