阅读更多
1 核心概念
组件类型:
Coordinator:- 解析sql
 - 生成查询计划
 - 管理并调度
Worker。同时,其自身也可作为Worker 
Worker- 从
Connector中获取数据,并按照执行计划进行计算 
- 从
 

2 部署
一个Presto集群至少包含一个Coordinator和一个Worker,其中Coordinator可以同时作为Coordinator和Worker(生产环境最好不要这样做)
2.1 配置简介
Presto配置相关的目录结构如下:
etc/catalog:各个Connector的配置,可以参考Connectorsconfig.properties:核心配置jvm.config:Java虚拟机相关的配置log.properties:日志相关的配置node.properties:节点元数据相关的配置
1  | etc  | 
2.2 部署Coordinator
2.2.1 config.properties
coordinator:必须为truenode-scheduler.include-coordinator:true表示该Coordinator同时也作为Worker,单节点的Presto集群或者测试环境可以配置成truehttp-server.http.port:监听的http端口,用于节点间交互discovery-server.enabled:true表示当前节点作为服务发现的serverdiscovery.uri:服务发现的server的uri,一般情况下,用Coordinator作为server,因此,uri通常为http://<coordinator_host>:<coordinator_http-server.http.port>
1  | coordinator=true  | 
2.2.2 jvm.config
Java虚拟机的配置
1  | -server  | 
2.2.3 log.properties
一般用于配置日志级别
1  | com.facebook.presto=INFO  | 
2.2.4 node.properties
node.id:每个机器得不一样node.data-dir:数据目录,包括日志以及运行时数据
1  | node.environment=production  | 
2.3 部署Worker
2.3.1 config.properties
coordinator:必须为falsehttp-server.http.port:监听的http端口,用于节点间交互discovery.uri:服务发现的server的uri,一般情况下,用Coordinator作为server,因此,uri通常为http://<coordinator_host>:<coordinator_http-server.http.port>
1  | coordinator=false  | 
2.3.2 jvm.config
Java虚拟机的配置
1  | -server  | 
2.3.3 log.properties
一般用于配置日志级别
1  | com.facebook.presto=INFO  | 
2.3.4 node.properties
node.id:每个机器得不一样node.data-dir:数据目录,包括日志以及运行时数据
1  | node.environment=production  | 
2.4 控制台
直接浏览器访问<coordinator.ip>:<http-server.http.port>即可
2.5 命令行客户端
- 下载最新的
presto-cli-x.xxx-executable.jar,该jar包可以直接运行 - 将其重命名为
presto:mv presto-cli-x.xxx-executable.jar presto ./presto --server <coordinator.ip>:<http-server.http.port> --catalog mysql --schema tpch--catalog指定connector类型--schema指定database