trino 部署 - 大数据分析的快速分布式SQL引擎 安装部署 系统软件 docker


https://hub.docker.com/r/trinodb/trino

https://trino.io/


docker run  -itd  -p 8080:8080 --name trino  --restart=always  -v /etc/localtime:/etc/localtime:ro   -v  /data/file:/data/file/  -v /data/docker/mysql/trino:/etc/trino:ro  --privileged=true --user=root  trinodb/trino


-Trino CLI, localhost:8080     # 默认账号:admin,无密码


docker cp trino:/etc/trino/ /data/docker/mysql/


docker exec -it trino trino

-参数

docker exec -it trino trino --catalog tpch --schema sf1

-可以查看此时有哪些数据源

show catalogs;   

-查看集群中的节点

SELECT * FROM system.runtime.nodes;

-TPCH连接器的查询

SELECT * FROM tpch.tiny.region;


docker exec -it trino  /bin/bash

yum check-update

yum update -y

yum clean all

yum -y install --skip-broken epel-release yum-axelget vim net-tools unzip zip wget lsof curl 

find / -name trino

/etc/trino
/var/spool/mail/trino
/home/trino
/usr/bin/trino
/usr/lib/trino
/data/trino


#  Presto 命令行工具 https://repo1.maven.org/maven2/io/trino/trino-cli/361/

cd /opt

wget https://repo1.maven.org/maven2/io/trino/trino-cli/361/trino-cli-361-executable.jar 

mv trino-cli-361-executable.jar trino

chmod +x trino

#连接presto,8080端口跟config.properties配置文件中端口对应

./trino --server 127.0.0.1:8080 --catalog mysql


# mysql查询

-可用的MySQL数据库

SHOW SCHEMAS FROM mysql;

-库的所有表

SHOW TABLES FROM mysql.dbeduboo;

-单表结构

DESCRIBE mysql.dbeduboo.md_books;  

or

SHOW COLUMNS FROM mysql.dbeduboo.md_books;  

-表数据

SELECT * FROM mysql.dbeduboo.md_books;  


# 不同类型数据源可以参考官网:

https://trino.io/docs/current/connector.html



vim  /data/docker/mysql/trino/catalog/mysql.properties

connector.name=mysql
connection-url=jdbc:mysql://b.htmltoo.com:3306
connection-user=root
connection-password=r


# trinodb 集群部署

https://abc.htmltoo.com/thread-46286.htm


1. config.properties :Presto 服务配置

2. node.properties :环境变量配置,每个节点特定配置

3. jvm.config :Java虚拟机的命令行选项

4. log.properties: 允许你根据不同的日志结构设置不同的日志级别

5. catalog目录 :每个连接者配置(data sources)


# config.properties

1. coordinator:指定是否运维Presto实例作为一个coordinator(接收来自客户端的查询情切管理每个查询的执行过程)

2. node-scheduler.include-coordinator:是否允许在coordinator服务中进行调度工作, 对于大型的集群,在一个节点上的Presto server即作为coordinator又作为worke将会降低查询性能。因为如果一个服务器作为worker使用,那么大部分的资源都会被worker占用,那么就不会有足够的资源进行关键任务调度、管理和监控查询执行

3. http-server.http.port:指定HTTP server的端口。Presto 使用 HTTP进行内部和外部的所有通讯

4. task.max-memory=1GB:一个单独的任务使用的最大内存 (一个查询计划的某个执行部分会在一个特定的节点上执行)。 这个配置参数限制的GROUP BY语句中的Group的数目、JOIN关联中的右关联表的大小、ORDER BY语句中的行数和一个窗口函数中处理的行数。 该参数应该根据并发查询的数量和查询的复杂度进行调整。如果该参数设置的太低,很多查询将不能执行;但是如果设置的太高将会导致JVM把内存耗光

5. discovery-server.enabled:Presto 通过Discovery 服务来找到集群中所有的节点。为了能够找到集群中所有的节点,每一个Presto实例都会在启动的时候将自己注册到discovery服务。Presto为了简化部署,并且也不想再增加一个新的服务进程,Presto coordinator 可以运行一个内嵌在coordinator 里面的Discovery 服务。这个内嵌的Discovery 服务和Presto共享HTTP server并且使用同样的端口

6. discovery.uri:Discovery server的URI。由于启用了Presto coordinator内嵌的Discovery 服务,因此这个uri就是Presto coordinator的uri。注意:这个URI一定不能以“/“结尾


# node.properties

node.environment: 集群名称, 所有在同一个集群中的Presto节点必须拥有相同的集群名称

node.id: 每个Presto节点的唯一标示。每个节点的node.id都必须是唯一的。在Presto进行重启或者升级过程中每个节点的node.id必须保持不变。如果在一个节点上安装多个Presto实例(例如:在同一台机器上安装多个Presto节点),那么每个Presto节点必须拥有唯一的node.id

node.data-dir: 数据存储目录的位置(操作系统上的路径), Presto将会把日期和数据存储在这个目录下


# log.properties

配置日志等级,类似于log4j。四个等级:DEBUG,INFO,WARN,ERROR


可对250PB以上的数据进行快速地交互式分析

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

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

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


https://blog.csdn.net/weixin_33890499/article/details/89767095

https://blog.csdn.net/zheng911209/article/details/118673775

https://blog.csdn.net/zuorichongxian_/article/details/115529459


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回