解决Presto Coordinate单点故障的部署方案

2019-08-28 15:44:11 浏览数 (3)

1 背景

presto虽然可以集群化部署,但是由于coordinate存在单点问题,商业化应用还是存在一定的问题,本文会给出一种简单的集群化部署方案,解决presto的单点问题。

2 架构图

3 方案说明

1、 presto采用多coordinate,多集群的方式进行部署;

2、 client在运行任务时,可根据负载均衡的规则,随机选择一个presto集群建立连接,创建任务;

3、 任务建立成功后,client将连接的presto coordinate的会话信息保存在状态存储中(mongo/cdb/redis均可);

4、 后续每次这个任务的查询交互,都直接访问对应的presto集群即可;

此方案再不修改presto代码的情况,可以快速搭建出一套容灾集群化部署的方案,但是方案的缺点就是冗余过多,不同presto集群间的计算资源不容易共享,当然也可以采用presto worker在同一机器上混布的方式解决这个问题,但终归不是一个最优方案,但是它的便利性还是有值得借鉴的地方。

后续可以考虑将coordinate利用zookeeper等搭建出集群化的方案,使presto单点问题更容易解决。

0 人点赞