请点击上方蓝字,关注我们哦!
这是一篇由Ashwin Sinha撰写的客座博客,原始博客资源见文末链接1。
让我们按照Wormhole中配置顺序来逐一介绍每个组件:
Consul — Consul是一种服务网络解决方案,其功能是为跨任何运行平台以及公有或私有云的应用提供网络连接和保护服务。它通过容器的containerID来帮助识别容器,具体配置说见文末链接3。
Docker — Docker是一系列平台即服务(platform-as-a-service)产品,它们在被称为容器的包中使用操作系统级虚拟化支撑交付软件。容器彼此隔离,并将它们自己的软件、库和配置文件捆绑在一起;它们可以通过完善定义的通道相互通信。在我们的配置中,我们将所有服务都放置在Docker容器中,具体配置说明见文末链接4。
- Alluxio Master — Alluxio masters按高可用(HA)(见文末链接5)模式进行部署。它们负责制定查询执行计划,并将查询分发给workers,然后将合并的各个结果返回并发送回请求者。具体配置说明见文末链接6。
Alluxio Worker — Alluxio workers是Alluxio的实际缓存存储组件。从Alluxio文件系统(FS)查询数据时,它从底层文件系统(可能是S3,GCS或任何已配置的FS)中获取数据,并以LRU方式存储在RAM中。下次无需访问FS并从其自己的缓存中返回数据块,具体配置说明见文末链接7。
- Hive metastore — Hive Metastore(见文末链接8)是所有Hive表的元数据的集合。在我们的配置中,我们在MySQL上创建元数据存储以存储Alluxio的定位数据,具体配置说明见文末链接9。
- Presto Coordinator — Presto协调器按高可用(HA)(见文末链接5)模式进行部署。它们负责制定jiquery执行计划,并将查询分发给worker,然后将合并的各个结果返回并发送回请求者,具体配置说明见文末链接10。
- Presto Worker — Presto workers负责处理底层Alluxio中的数据。它们提取数据,对其执行操作,然后将各个结果发送给协调器,具体配置说明,见文末链接11。
除了上述组件外,我们还需要一个Zookeeper(见文末链接12) quorum组件及配置,这是为了使Alluxio主服务器和Presto协调器高度可用(HA)。有关配置的完整文档,请参阅此处(见文末链接13)。
实际运行
现在我们已经在Alluxio的顶层配置了Presto,那么应当如何使它可供所有人使用呢?答案是需要使用其他一些工具,例如Metabase(见文末链接14),提供与Presto的连接。我们只需要添加适当的配置,它们就可用于各种数据分析。
Presto和Alluxio还提供UI来跟踪当前状态,这对用户作用很有帮助。
后面我们的工作重点将是通过用户界面使该解决方案提供自助服务,并使其实现自扩展(可能可以在Kubernetes(见文末链接15)上部署)。
关于作者
本文作者是一位专业的数据工程师,喜欢学习和使用分布式系统。他也是一名开源爱好者,乐于贡献社区,可以参考github(见文末链接16)和medium(见文末链接17)上的工作。此外,他还是喜欢探索远方并享受长途骑行的旅行者。
参考链接:链接1: https://medium.com/@tygrash/introducing-wormhole-dockerized-presto-alluxio-setups-for-blazing-fast-analytics-ce77109032b9
链接2: https://github.com/tygrash/wormhole
链接3:
https://github.com/tygrash/wormhole/blob/master/Consul.md
链接4:
https://github.com/tygrash/wormhole/blob/master/Docker.md
链接5:
https://searchdatacenter.techtarget.com/definition/high-availability
链接6:
https://github.com/tygrash/wormhole/blob/master/alluxio-master/README.md
链接7:
https://github.com/tygrash/wormhole/blob/master/alluxio-worker/README.md
链接8:
https://dzone.com/articles/hive-metastore-a-basic-introduction
链接9:
https://github.com/tygrash/wormhole/blob/master/hive/README.md
链接10:
https://github.com/tygrash/wormhole/blob/master/presto-coordinator/README.md
链接11:
https://github.com/tygrash/wormhole/blob/master/presto-worker/README.md
链接12:
https://zookeeper.apache.org/
链接13:
https://github.com/tygrash/wormhole
链接14:
https://www.metabase.com/docs/latest/administration-guide/01-managing-databases.html
链接15:
https://kubernetes.io/
链接16:
https://github.com/tygrash
链接17:
https://medium.com/@tygrash
更多精彩内容,请·end·
—如果喜欢,快分享给你的朋友们吧—