绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Trino 本地编译搭建 standalone 模式
2022-05-12 15:26:41

本文的主要目的是

  1. 帮助 Trino 新手在本地编译源码
  2. 在 Idea 中启动一个 Trino server
  3. 通过 Trino-cli 提交一个查询到集群
  4. 为后续的 Trino debug 以及源码阅读做准备

Trino 是一个 MPP(大规模并行处理) 架构的内存型 OLAP 引擎,注意它只是一个查询引擎,并不是一个数据库,因为 Trino 不存储数据。通过 connector 机制可以获取多种数据源的数据,比如 Trino-hive 这个 connector 就可以获取到 Hive 表的数据。

Trino 主要适用于 Adhoc 查询(即席查询),主要应用场景是数据分析,你可以根据自己的需求写 SQL,查询任何你想查询的数据(前提是你得有权限[手动狗头])。

Trino 是一个典型的 Master-Slave (主从)架构的计算框架,负责接收用户请求的是 Coordinator,干苦力活的叫 worker。

首先通过 git 下载代码(默认大家已经会用 git 以及 maven)

git clone git@github.com:trinodb/trino.git
cd trino

然后使用 maven 进行编译 编译过程中跳过 docs,否则会报错

mvn -pl '!docs' clean install -DskipTests  

此时编译完就可以按照 github 上的提醒进行 full-server 的启动。

我接下来的操作几乎都是对 github 上 README 的翻译

要启动的类在,此时启动的是 Trino 的 Coordinator 进程

testing/trino-server-dev/src/main/java/io/trino/server/DevelopmentServer

然后配置选项按照 github 上面的配置来,我使用的是新版 idea,VM Options 可以在下图的 Modify options 里面添加

  • Main Class: io.trino.server.DevelopmentServer
  • VM Options: -ea -Dconfig=etc/config.properties -Dlog.levels-file=etc/log.properties -Djdk.attach.allowAttachSelf=true
  • Working directory: $MODULE_DIR$
  • Use classpath of module: trino-server-dev

此时所有的配置都完成了,就可以在本机上启动一个 Trino 进程

出现 SERVER STARTED 就说明启动成功了

默认的服务端口号是 8080,在浏览器输入 localhost:8080 就可以访问 Trino 的简易 web 页面

此时我们的 Trino server 就已经启动成功了

接下来可以通过 Trino 自带的 cli 向 Server 提交查询

/Users/shenjinxin/github/trinoDebug/client/trino-cli/target
执行命令启动 Trino 的cli
./trino-cli-356-executable.jar --server http://127.0.0.1:8080

出现 trino 的小标志就说明成功了

我在这里提交了一个查询,show catalogs; 可以查看此时有哪些数据源

同时在 web 页面上也可以看到我们提交的任务

红框里面的是 QueryId ,每个 ID 都是独一无二的,与我们 cli 界面的 QueryId 保持一致


至此我们已经在本地搭建起了 Trino 的 Server,同时也可以使用 cli 向 Trino Server 提交查询,并且查询成功

大家可以思考几个问题

  1. 为什么只启动了 Coordinator 进程,没有启动 Worker 进程也可以进行查询
  2. Trino 的 web 页面上可以得到什么信息
  3. MPP 架构的 OLAP 与预计算 OLAP 的差异是什么,适用于什么场景

  4. 原文链接:https://zhuanlan.zhihu.com/p/373609379

  5. 原文链接:
分享好友

分享这个小栈给你的朋友们,一起进步吧。

Trino
创建时间:2022-04-12 14:37:38
Trino
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 飘絮絮絮丶
    专家
戳我,来吐槽~