安装
配置文件目录
presto启动时默认配置文件目录在安装目录下的etc下,也可以在启动时指定配置目录,参数是--etc-dir。
配置node
在etc下创建node.properties文件,配置如下:
node.environment=production
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff
node.data-dir=/var/presto/data
node.environment
: 集群名字,一个集群内所有的节点必须一致。
node.id
: 节点id,每个节点同一集群内保持唯一。
node.data-dir
:节点数据目录,数据目录用于存放日志和服务的pid。
配置server
presto server分为coordinator和worker,coordinator可以认为是master节点,worker可以认为是计算节点。配置时在etc下创建config.properties文件。
coordinator配置如下:
coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
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
query.max-total-memory-per-node=2GB
discovery.uri=http://example.net:8080
coordinator
:是coordinator角色还是worker角色。
node-scheduler.include-coordinator
:计算节点是否包含coordinator,主要用于单机测试。
http-server.http.port
:服务启动的端口号。
discovery-server.enabled
:节点是否作为发现节点的web服务。分发任务时,用于发现计算节点,每个计算节点启动时会在其上注册。
discovery.uri
:发现节点的web服务地址,一般和coordinator部在一起。
query.max-memory
:每个查询可以用的最大内存。
query.max-memory-per-node
:每个查询每台计算节点可以用的最大内存。
query.max-total-memory-per-node
:每个查询每台计算节点可以用的总的最大内存,包括查询任务用的内存和系统消耗的内存。
配置jvm启动参数
在etc下创建jvm.config文件
-server
-Xmx16G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
配置catalog
presto通过connector访问数据,connector配置在catalog里。presto内置的不同类型的connector,放在安装目录的plugins下。catalog的配置在etc/catalog/下,以hive为例,我们添加一个名字是hive的catalog,则在etc/catalog下创建hive.properties文件,配置如下:
hive.metastore.uri=thrift://example.meta:9083
hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml
通过命令行访问时使用--catalog指定catalog。
配置服务日志级别
在etc下创建log.properties文件,配置如下:
com.facebook.presto=DEBUG
日志文件放在data/var/log下。
服务管理
查看帮助信息
./bin/launcher -h
启动
./bin/launcher start
停止
./bin/launcher stop
重启
./bin/launcher restart