**

一、Trino介绍

**
Trino是针对OLAP设计的用于高效的分布式查询大量数据的分析引擎。主要具备下列优点:

  • 屏蔽底层数据源,提供统一查询接口;
  • 基于内存计算,可以跨不同数据源完成联邦查询;
  • 数据治理,通过Trino进行异构数据的提取、整合与分析,打破数据孤岛、提高数据治理能力。

二、架构

Trino的架构如下图所示。由一个coordinator和多个worker节点组成的Trino集群。Trino用户通过一个客户端连接到coordinator。coordinator与访问数据源的worker进行协作。一旦它接收到一条SQL语句,协调器就负责跨Trino工作节点解析、分析、计划和调度查询执行。该语句被转换为运行在一组worker上的一系列连接的任务。当worker处理数据时,coordinator将检索结果并在输出缓冲区上向客户机公开。

在Trino中,存储和计算分离的核心是基于connector的体系结构。connector为Trino提供了访问任意数据源的接口。
如下图所示,每个connector都提供了对底层数据源的基于表的抽象。只要可以使用Trino可用的数据类型以表、列和行来表示数据,就可以创建connector,查询引擎就可以使用数据进行查询处理。目前支持的connector包括:Hive, Iceberg, MySQL, PostgreSQL, Oracle, SQL Server, ClickHouse, MongoDB等。


三、Trino安装


  1. 下载jar包
    Trino:trino-server-386.tar.gz(要求jdk版本最低11.0.11)
    Jdk:jdk-11.0.16.1_linux-x64_bin.tar.gz
  2. 解压缩
    解压到/opt/softwatres
tar –zxvf trino-server-386.tar.gz –C /opt/softwatres

  1. Trino配置
  • 在trino-server-386目录下新建etc文件夹和data文件夹
mkdir data
mkdir etc

  • 进入etc目录下新建以下文件:
cd etc

(1)vim config.properties

 #coordinator
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=10GB
query.max-memory-per-node=5GB
discovery-server.enabled=true
discovery.uri=http://10.238.222.196:8080


(2)vim jvm.config

-server
-Xmx10G
-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


(3)vim log.properties

io.trino=INFO


(4)vim node.properties

node.environment=bigdata_test
node.id=bigdata01
node.data-dir=/opt/softwares/trino-server-386/data


(5)新建catalog文件

进入catalog文件夹下,vim iceberg.properties

 connector.name=iceberg
hive.metastore.uri=thrift://xx.xxx.xxx.xxx:9083
  1. 启动Trino
 #后台启动
bin/launcher start
#前台启动
bin/launcher run

5.DBeaver连接

  • 选择trino,下载对应依赖


连接配置:
填写主机、用户名即可。

附Trino小故事:

2012年,Dain,David和Martin加入了Facebook数据基础架构团队。我们与Eric Hwang共同创建了 Presto,以解决Facebook庞大的Hadoop数据仓库上的低延迟交互式分析问题。Presto成为开源项目是我们不可谈判的条件之一。开源是我们的DNA,过去,我们都曾在不同程度上使用和参与过开源项目,并且我们认识到开放社区和开发人员齐心协力,以构建可以经受时间考验的成功软件的力量。

在接下来的六年中,我们围绕该项目努力构建了一个健康的开源社区和生态系统。我们与世界各地的开发人员和用户合作,并欢迎他们加入 Presto 社区。Presto 处于增长和成功的道路上,这在很大程度上是由于来自许多领域和世界各地的开发人员的贡献。

不幸的是,在2018年,很明显 Facebook 管理层希望对该项目及其未来进行更严格的控制。最终,他们决定授予 Facebook 开发人员对该项目的操作权利,而无需任何 Presto经验。我们坚信,这种决定与拥有一个健康,开放的社区是冲突的。此外,他们还是在没有加入 Presto社区的情况下通过强制命令做出了这一决定。原则上,我们别无选择,只能离开Facebook,专注于确保Presto在开放、协作和独立的社区中继续成为一个成功的项目。实际上,选择很容易。

我们于2019年1月成立了 Presto软件基金会,这是一个独立的实体,负责监督软件和社区的发展,并延续了过去6年建立的精英体系。社区很快在这个新家中巩固。我们有意在接下来的 10个月内保持失业状态,专注于通过直接与主要用户和贡献者合作以及扩大与全球范围内的用户和开发人员群体的合作来扩大和加强社区。这导致了新的用例和精力的注入,随着更多新用户和开发人员的参与,该项目比以往任何时候都更加充满活力。让数据说明一切:

合并几个月后,Facebook 决定使用 The LinuxFoundation® 创建一个竞争社区。作为第一步,Facebook 在Presto 上申请了商标。这是一个令人惊讶的,违反规范的举动,因为到目前为止,Presto名称在商业和非商业产品中使用已超过6年,没有任何限制。在2019年9月,Facebook 在 The LinuxFoundation®上建立了 Presto 基金会,并立即开始努力实施这个新商标。去年的大部分时间里,我们试图与 Facebook 和 Linux 基金会达成协议,这不会对社区造成负面影响,但不幸的是,我们未能做到这一点。最终结果是我们现在必须在短时间内更改名称,而几乎没有能力将用户干扰降到最低。

就个人而言,作为最初将项目命名为 Presto的创始人,这是一件令人难以置信的令人沮丧和令人失望的事件。虽然我们总是对Presto这个名字有好感,但我们已经接受了一个名字,只是一个名字。坦率地说,我们已经厌倦了无休止的分心,我们打算专注于最重要的事情和我们最擅长的工作:构建每个人都可以依赖的高质量软件,并建立一个健康的用户和开发者社区并支持它。我们不会去其他地方:我们是相同的人,做同样出色的软件,并使用了新名称Trino。

Trino安装部署连接iceberg相关推荐

  1. 「数据库」Linux服务安装部署SQL Server -外网安全远程连接【端口映射】

    文章目录 1. 安装sql server 2. 局域网测试连接 3. 安装cpolar内网穿透 4. 将sqlserver映射到公网 5. 公网远程连接 6.固定连接公网地址 7.使用固定公网地址连接 ...

  2. Mycat 读写分离 数据库分库分表 中间件 安装部署,及简单使用

    MyCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服 ...

  3. 【SVN】1. SVN 安装部署

    一. SVN概述 1. SVN 简介   Subversion 版本控制系统 简称 SVN.   SVN 是一个跨平台开放源代码的集中式版本控制系统,可以实现文件及目录的保存及版本回溯.   SVN ...

  4. Docker概述和安装部署

    概述 Docker产生的背景 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后 ...

  5. 【原创 HadoopSpark 动手实践 1】Hadoop2.7.3 安装部署实践

    目录: 第一部分:操作系统准备工作: 1. 安装部署CentOS7.3 1611 2. CentOS7软件安装(net-tools, wget, vim等) 3. 更新CentOS7的Yum源,更新软 ...

  6. redis入门系列(一)redis安装部署

    2019独角兽企业重金招聘Python工程师标准>>> 用了redis一年多了,虽然原理和命令都了解,应付日常工作绰绰有余,但是从没从头到尾的去学习一下redis.从个人经历来讲,这 ...

  7. Storm集群安装部署步骤【详细版】

    作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2012/11/30/how ...

  8. Mysql-cobar集群安装部署手册

    2019独角兽企业重金招聘Python工程师标准>>> 本文档以mysql5.6.17-1 rhel版本为例,介绍mysql一机多实例,以两台机器各两个实例,实现机器间的mysql实 ...

  9. fuel6.0安装部署

    在经过一系列安装openstack方式后,个人觉得fuel的安装方式相对简易,接下来记录下安装部署fuel6.0的过程.本教程适合想把fuel6.0部署后,云主机需要连接外网的需求. 安装virtua ...

最新文章

  1. centos 7 中安装 docker和创建 tomcat容器并部署web应用
  2. ubuntu用不了root用户:~$ su - root Password: su: Authentication failure怎么办?
  3. css浮动(float)及清除浮动的几种实用方法
  4. C# 控件双缓冲控制 ControlStyles 枚举详解
  5. host 'xx' is not allowed to connect to this MySql server
  6. android学习日记12--布局管理器
  7. 27 FI配置-财务会计-外币评估-定义评估方范围
  8. 中国wms仓储管理系统行业发展状况分析?
  9. 2015南阳CCPC L - Huatuo's Medicine 水题
  10. 【MySQL】MySQL for Mac 环境变量的配置
  11. iOS 点击返回键崩溃的未解之谜
  12. hadoop提交作业到云端问题解决
  13. Intel网卡MAC地址更改方法
  14. 使命召唤手游服务器显示错误,使命召唤手游无法连接服务器是什么原因
  15. 扫描仪显示计算机繁忙或故障,为什么我的兄弟打印机每次扫描图像文件总是显示连接计算机,但是电脑就没有弹出那个框让我选择?请求高手...
  16. 开源项目(VC++,MFC)
  17. 【周记】腾讯犀牛鸟「云开发」校园技术布道师养成计划
  18. 基于微信视频直播如何做收费直播(微信公众号直播)?
  19. 获取上一个月的同一天
  20. redis crackit入侵事件总结

热门文章

  1. 小米8se怎么解屏幕锁_小米8 SE怎样解锁?人脸指纹双解锁安全又快捷!
  2. Debian - 搭建NextCloud私人云盘
  3. Python读取Word文档中的Excel嵌入文件
  4. 应用 Rational 工具简化基于 J2EE 的项目第 8 部分 :测试软件
  5. 安卓盒子刷rec linux启动,ADB命令刷入recovery刷机
  6. jstl 标签 循环 序号
  7. FreeMaker语法大全及示例
  8. Python使用Kt封装FFmpeg
  9. JAVA地铁舆情管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
  10. 【实用】如何在windows下快速截图?