流式计算 - Apache Heron专题

本文主要介绍Apache Heron的诞生,相关概念,集群环境搭建,任务调度机制,packing algorithm的解析以及与流式计算生态环境中的其他组件(如,kafka)的集成等内容。以为大家学习和了解Heron这一新一代流式计算系统平台提供一些资料参考。文章内容主要来自于自己学习实践过程中的积累和总结。

Apache Heron相关内容介绍

  • Heron诞生及简介
  • Heron系统结构
  • Heron流式作业介绍

Heron集群环境搭建

Heron单节点环境为单机环境中的配置过程,高可用集群环境配置使用了Aurora+Mesos+Zookeeper+HDFS的真实可用的Heron流式计算环境。

  • Heron单节点环境搭建
  • Heron高可用集群环境搭建

使用Mesos

高可用节点中将Heron配置在了Apache Mesos中配合Aurora进行运行,如下为Heron高可用集群使用编译方式安装配置Mesos集群的相关过程。

  • Heron集群中编译方式安装配置Mesos集群

使用Zookeeper

Heron使用Zookeeper作为State Manager,这里为Zookeeper多节点集群的搭建方式,用于在大规模集群中使用,也可以简化为一个zookeeper节点部署在Master主机中。

  • Ubuntu16.04安装配置使用Zookeeper集群

使用Aurora

Heron使用了Aurora Scheduler作为任务调度器,这里的重点问题是,如何将aurora和mesos集群进行集成,以正常使用aurora-scheduler。同时,这里作为heron的调度器,也是之后研究的内容。

  • Heron集群中安装配置Aurora

使用HDFS

Heron使用HDFS作为Uploader,因此,需要在集群中的各个节点上安装配置HDFS环境。

  • HDFS在Heron集群中的配置和使用

其他与上述环境搭建相关的基础过程:

  • Ubuntu16.04 配置集群SSH无密码登录

流式计算环境集成

  • Kafak与Heron的集成和使用
  • Storm流式作业迁移至Heron
  • Heron+Prometheus+Grafana实现集群可视化

Heron调度机制解析

  • Heron默认调度机制解析
  • RoundRobin Packing Algorithm解析
  • RoundRobin Comparison Algorithm解析
  • First Fit Decreasing Packing Algorithm解析

Heron-start-project in IntelliJ IDEA

这里使用IntelliJ IDEA作为Heron拓扑的开发IDE,并提供一个简单的开始项目,介绍如何使用Heron编写自己的流式作业拓扑并提交至Heron中运行。

  • Ubuntu16.04安装Intellj IDEA
  • 使用heron-get-start创建自己的Heron流式作业

相关及参考资料

  • Heron官方文档(英文)
  • Heron GitHub
  • Heron tag on Stack Overflow