赞
踩
**
**
Trino是针对OLAP设计的用于高效的分布式查询大量数据的分析引擎。主要具备下列优点:
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等。
tar –zxvf trino-server-386.tar.gz –C /opt/softwatres
mkdir data
mkdir 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
#后台启动
bin/launcher start
#前台启动
bin/launcher run
5.DBeaver连接
连接配置:
填写主机、用户名即可。
附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。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。