本文主要介绍Apache Heron的诞生,相关概念,集群环境搭建,任务调度机制,packing algorithm的解析以及与流式计算生态环境中的其他组件(如,kafka)的集成等内容。以为大家学习和了解Heron这一新一代流式计算系统平台提供一些资料参考。文章内容主要来自于自己学习实践过程中的积累和总结。
Heron单节点环境为单机环境中的配置过程,高可用集群环境配置使用了Aurora+Mesos+Zookeeper+HDFS的真实可用的Heron流式计算环境。
使用Mesos
高可用节点中将Heron配置在了Apache Mesos中配合Aurora进行运行,如下为Heron高可用集群使用编译方式安装配置Mesos集群的相关过程。
使用Zookeeper
Heron使用Zookeeper作为State Manager,这里为Zookeeper多节点集群的搭建方式,用于在大规模集群中使用,也可以简化为一个zookeeper节点部署在Master主机中。
使用Aurora
Heron使用了Aurora Scheduler作为任务调度器,这里的重点问题是,如何将aurora和mesos集群进行集成,以正常使用aurora-scheduler。同时,这里作为heron的调度器,也是之后研究的内容。
使用HDFS
Heron使用HDFS作为Uploader,因此,需要在集群中的各个节点上安装配置HDFS环境。
其他与上述环境搭建相关的基础过程:
这里使用IntelliJ IDEA作为Heron拓扑的开发IDE,并提供一个简单的开始项目,介绍如何使用Heron编写自己的流式作业拓扑并提交至Heron中运行。