1、presto基本概念
1、1 presto服务进程
presto集群中一共有两种服务器进程:coordinator服务进程和worker服务进程,其中coordinator服务进程的主要作用是:接收查询请求、解析查询语句、生成查询执行计划、任务调度和worker管理。而worker服务进程则执行被分解后的查询执行任务:task
coordinator
coordinator服务进程部署于集群中一个单独的节点上,是整个presto集群的管理节点,coordinator服务进程主要用于接收客户端提交的查询,查询语句解析,生成查询执行计划、stage和task并对生成的task进行调度。除此之外,coordinator还对集群中的所有worker进行管理,coordinator进程是整个presto集群的master进程,该进程既与worker进行通信从而获得最新的worker信息,又与client进行通信,从而接受查询请求,而所有的这些工作都是通过coordinator上的statementResource类提供的RESTful服务来完成的。
worker
在一个presto集群中,存在一个coordinator节点和多个worker节点,coordinator节点是管理节点,而worker节点就是工作节点,在每个worker节点上都会存在一个worker服务进程,该服务进程主要进行数据的处理以及task的执行,worker服务进程每隔一定的时间都会向coordinator上的RESTful服务发送心跳,从而告诉coordinator:我还活着,并接受你调度,当客户端提交一个查询的时候,coordi