流式計算 - Apache Heron專題
本文主要介紹Apache Heron的誕生,相關概念,集羣環境搭建,任務調度機制,packing algorithm的解析以及與流式計算生態環境中的其他組件(如,kafka)的集成等內容。以爲大家學習和了解Heron這一新一代流式計算系統平臺提供一些資料參考。文章內容主要來自於自己學習實踐過程中的積累和總結。
Apache Heron相關內容介紹
- Heron誕生及簡介
- Heron系統結構
- Heron流式作業介紹
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環境。
其他與上述環境搭建相關的基礎過程:
流式計算環境集成
- 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中運行。
相關及參考資料