该博客介绍Wormhole,一个开源的基于Docker的Presto和Alluxio集群部署解决方案。通过该方案可以对文件系统进行快速分析(我们使用S3,GCS,OSS)。在数据分析方面,人们通常手动编写SQL查询并喜欢分析仓库中的数据(例如MySQL数据库)。但是随着数据的增长,这些存储开始能以支撑,因此需要在相同或更少的时间范围内更快地获得的结果。这可以通过分布式计算解决,事实上Presto就是为此而设计的。当Presto与Alluxio连接后,它的工作速度甚至会更快。这就是Wormhole项目产生的全部动机。
常用链接
- Alluxio项目官网
- Alluxio在各大厂用例
- 关注Alluxio微信公众号:Alluxio_China
下图为解决方案的架构图:
让我们按照Wormhole中配置顺序来逐一介绍每个组件:
- Consul
- Docker
- Alluxio Master
- Alluxio Worker
- Hive metastore
- Presto Coordinator
- Presto Worker
除了上述组件外,我们还需要一个Zookeeper quorum组件及配置,这是为了使Alluxio主服务器和Presto协调器高度可用(HA)。有关配置的完整文档,请参阅此处。
实际运行
现在我们已经在Alluxio的顶层配置了Presto,那么应当如何使它可供所有人使用呢?答案是需要使用其他一些工具,例如Metabase,提供与Presto的连接。我们只需要添加适当的配置,它们就可用于各种数据分析。
Presto和Alluxio还提供UI来跟踪当前状态,这对用户作用很有帮助。
下一步计划
后面我们的工作重点将是通过用户界面使该解决方案提供自助服务,并使其实现自扩展(可能可以在Kubernetes上部署)。
关于作者
本文作者是一位专业的数据工程师,喜欢学习和使用分布式系统。他也是一名开源爱好者,乐于贡献社区,可以参考github和medium上的工作。此外,他还是喜欢探索远方并享受长途骑行的旅行者。