本文的主要目的是

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

环境说明

环境 版本 备注
system Mac Intel Chip
java

jdk-11.0.15.1.jdk

oracle官方下载,链接:Java Downloads | Oracle
maven

apache-maven-3.8.1

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

如果我们的本机jvm非jdk11,可在对话框中临时指定jdk:

如我新建了一个/etc/trino/conf/trino-env.sh,内容如下:

JAVA11_HOME=$(ls -d /Library/Java/JavaVirtualMachines/jdk-11.0.15.1.jdk/Contents/Home)export JAVA_HOME=$JAVA11_HOMEexport PATH=$JAVA_HOME/bin:$PATH

通过source让jdk11在当前对话框生效:

source /etc/trino/conf/trino-env.sh

然后使用 maven 进行编译 编译过程中跳过 docs,否则会报错(当你需要指定settings文件,可如下-s指定)

mvn -pl '!docs' clean install -DskipTests  -s "/Users/shlpeng/Documents/CXY/soft/apache-maven-3.8.1/conf/settings.xml.ali"

此时编译完就可以按照 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,在浏览器输入 127.0.0.1:8080 就可以访问 Trino 的简易 web 页面

 随便输入一个“hadoop”用户登陆:

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

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

client/trino-cli/target

切到tar目录下执行命令启动 Trino 的cli
./trino-cli-389-SNAPSHOT-executable.jar --server http://127.0.0.1:8080

出现 如上图的trino 的小标志就说明成功了。

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

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

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

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

后面我又执行了一系列简单的sql:

高度参考链接:Trino 本地编译搭建 standalone 模式 - 知乎

Trino 本地编译搭建 standalone 模式相关推荐

  1. Flink环境搭建(standalone模式)

    本文开头附:Flink 学习路线系列 ^ _ ^ 1.Flink环境搭建 1.1 架构说明(standalone模式) standalone 是 Flink 自带的一个分布式集群,它不依赖其他的资源调 ...

  2. Spark环境搭建Standalone模式

    2.4  Standalone模式 在Standalon模式中,Spark集群由Master节点和Worker节点构成,使用内置的Standalon框架进行资源管理.Spark程序通过与Master节 ...

  3. Spark基础学习笔记05:搭建Spark Standalone模式的集群

    文章目录 零.本讲学习目标 一.Spark集群拓扑 (一)集群拓扑 (二)集群角色分配 二.搭建集群 (一)私有云上创建三台虚拟机 (二)利用SecureCRT登录三台虚拟机 1.登录master虚拟 ...

  4. Spark集群环境搭建(standalone模式)

    Spark集群环境搭建(standalone模式) 1. 实验室名称: 2. 实验项目名称: 3. 实验学时: 4. 实验原理: 5. 实验目的: 6. 实验内容: 7. 实验器材(设备.虚拟机名称) ...

  5. 流批一体计算引擎-3-[Flink]的本地模式Local和standalone模式

    flink-1.15.0在centos7上安装(Local模式安装) 目前开源大数据计算引擎有很多的选择,比如流处理有Storm.Samza.Flink.Spark等,批处理有Spark.Hive.P ...

  6. zookeeper在搭建的时候,解决后台启动为standalone模式问题

    zookeeper在搭建的时候,解决后台启动为standalone模式问题 参考文章: (1)zookeeper在搭建的时候,解决后台启动为standalone模式问题 (2)https://www. ...

  7. spark-2.4.5-bin-2.6.0-cdh5.15.1环境搭建:Local模式和StandAlone

    下载源码进行编译 在这一篇中,介绍了如何下载源码进行编译,编译好的文件名为spark-2.4.5-bin-2.6.0-cdh5.15.1 对文件进行解压:tar -xvf spark-2.4.5-bi ...

  8. spark-1.6.0-cdh5.15.1环境搭建:Local模式和StandAlone

    下载spark 从http://archive.cloudera.com/cdh5/cdh/5/下载spark-1.6.0-cdh5.15.1,因为我之前使用的hadoop版本都是cdh5.15.1, ...

  9. flink的standalone模式环境搭建

    一.standalone模式 所有的资源都由flink自己管理 flink的jar包:flink-1.11.2-bin-scala_2.11.tgz 把安装包放到linux中 bin #服务或命令 c ...

最新文章

  1. PCL点云处理算法目录
  2. 用Java语言编写ajax设计模式_使用JavaScript发布订阅设计模式实现Ajax请求节流
  3. 「模型解读」从“局部连接”回到“全连接”的神经网络
  4. mysql的代码大全_MySql数目字函数大全
  5. Channel 与ChannelPipeline
  6. 笔记本电脑排名2015_2015-2026全球及中国AC-DC电源适配器市场发展现状调研及未来前景行业展望...
  7. 了解CSS核心精髓(一)
  8. [转帖] 启动多个Tomcat 需要修改的端口
  9. mysql 修改密码_经验总结 | MYSQL修改密码脚本,值得收藏
  10. 从nexus下载所有jar包方法 迁移到其他nexus中
  11. 国产服务器虚拟化产品,国内主流虚拟化厂商之间比较.doc
  12. 最小二乘支持向量机(LS-SVM)使用说明
  13. 之前用Delphi随手写的软键盘SoftKeyBoard
  14. HyperLedger-Fabric v0.6环境搭建详细教程
  15. 半胱氨酸表面修饰CdTe量子点;半胱氨酸修饰CdTe/CdS量子点;L-半胱氨酸修饰CdTe/CdS量子点(Cys)-CdTe/Cds定制供应
  16. 妈妈的手除了像写字板还像什么呢?
  17. 关爱中老年健康,践行康养华夏,中老年春晚《康养华夏》栏目启动大会在广州盛大举行
  18. 爬虫类Chrome去除前端无限debugger反调试(轻松分析算法)
  19. Codeforces 1144 D
  20. 二叉查找树(BST)的基本概念及常用操作

热门文章

  1. sqoop导入数据到hive
  2. 笔记本电脑连接宽带的时候报错(调制解调器报告了一个错误)(1024程序节纪念一下自己的最坑)
  3. 海通证券否认获批试点 融资融券再度忽悠券商股
  4. c语言 去电txt空白行,删除字符串中多余的空白字符和空行(C语言实现)
  5. 解决eclipse报错:错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)
  6. Codeforces gym 2013-2014 Samara SAU ACM ICPC Quarterfinal Qualification Contest
  7. Python 浮点数的舍入,round与decimal舍入方式
  8. CC00007.CloudOpenStack——|OpenStack组件.V02|——|openstack-keystone|controller节点下部署Key
  9. 搜索的实例——水管工游戏
  10. 数据挖掘算法和实践(四):支持向量机(iris鸢尾花数据集)