Presto基本配置

介绍
presto是由facebook开源,基于内存的分布式查询引擎。支持多数据源,可支持PB级海量数据查询,本身不作数据存储。由于基于内存查询,减少了IO开销,故查询效率很高,但不适用于多表联合查询。
架构
Presto基本配置_第1张图片
与众多分布式框架类似,由某组件进行请求处理以及分发任务至各执行节点。在presto架构中,Coordinator即为这样的角色。负责解析SQL,生成执行计划,分发任务到各节点。
Worker即各实际执行查询的节点。worker收到任务后,通过各种connector取各数据源中的数据。
Discovery service即联系Coordinator及Worker的服务。Worker启动会向Discovery server注册服务,Coordinator向Discovery server获取Worker节点信息。
配置
presto主要配置文件如下:
catalog/:配置各数据源的信息,如hive,mongdb等。以hive为例:

connector.name=hive-hadoop2
hive.metastore.uri=thrift://example.net:9083
hive.config.resources=/etc/hadoop/conf/core-site.xml, /etc/hadoop/conf/hdfs-site.xml
hive.allow-drop-table=true

config.properties:presto的配置文件,coordinator与worker略有不同。
coordinator中基本配置:

coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
discovery-server.enabled=true
discovery.uri=http://example.net:8080

worker中基本配置:

coordinator=false
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
discovery.uri=http://example.net:8080

jvm.config:JVM启动时的配置信息

-server
-Xmx16G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p

log.properties:配置日志级别信息

com.facebook.presto=DEBUG

node.properties:每个节点的配置信息

node.environment=集群名称
node.id=节点ID       (各节点不同)
node.data-dir=/presto  (数据目录,包括配置,日志等)

启动
presto启动较为简单,在安装目录bin下启动 ./launcher start (restart/stop)。日志记录在节点配置所指定的相应目录下server.log。

你可能感兴趣的:(Presto)