聲明:均爲原創文章,轉載請註明出處!
Heron相關基礎概念
- Apache Heron基礎內容介紹(待完成)
本地及集羣環境搭建
Heron單節點環境爲單機環境中的配置過程,高可用集羣環境配置使用了Aurora+Mesos+Zookeeper+HDFS的真實可用的Heron流式計算環境。
基礎過程
整體搭建過程
- Heron 0.17.1單節點本地環境配置(CentOS)
- Heron單節點環境搭建(Ubuntu16.04)
- Heron高可用集羣環境搭建
部分詳細內容
高可用節點中將Heron配置在了Apache Mesos中配合Aurora進行運行。Heron使用Zookeeper作爲State Manager,這裏爲Zookeeper多節點集羣的搭建方式,用於在大規模集羣中使用,也可以簡化爲一個zookeeper節點部署在Master主機中。Heron使用了Aurora Scheduler作爲任務調度器,這裏的重點問題是,如何將aurora和mesos集羣進行集成,以正常使用aurora-scheduler。同時,這裏作爲heron的調度器,也是之後研究的內容。此外,Heron使用HDFS作爲Uploader,因此,需要在集羣中的各個節點上安裝配置HDFS環境。
- Heron集羣中編譯方式安裝配置Mesos集羣
- Ubuntu16.04安裝配置使用Zookeeper集羣
- Heron集羣中安裝配置Aurora
- HDFS在Heron集羣中的配置和使用
- Heron UI頁面響應遲緩及解決方法
- Aurora thermos_observer的配置與啓動
- Aurora Scheduler and Thermos的安裝和配置
- Ubuntu16.04 使用apt-get命令安裝Mesos
集羣擴充配置
集羣部署及更改記錄(個人)
集羣運行詳情
Heron in IntelliJ IDEA
基礎過程及嘗試
- Ubuntu16.04安裝Intellj IDEA
- Windows: 嘗試使用IntelliJ IDEA提交Heron Topology
- Linux: 使用IntellJ IDEA導入heron-java-streamlet-api-example-master開源項目
Heron-get-start Project
這裏使用IntelliJ IDEA作爲Heron拓撲的開發IDE,並提供一個簡單的開始項目,介紹如何使用Heron編寫自己的流式作業拓撲並提交至Heron中運行。
Topology運行調試
- Heron Topology資源需求參數調試步驟
- Heron WordCountTopology默認資源配置下運行情況
- Heron WordCountTopology參數調整過程
- Heron WordCountTopology資源需求參數調整過程及分析
- Heron AckingTopology資源需求參數調整過程
- Heron Cluster Topology運行及資源參數調整
集羣運行命令總結
資源監測與可視化
- Heron Explorer單節點使用情況
- Heron Tracker REST API單節點(Local)使用情況
- 使用Prometheus顯示化監測Heron(Local) Topology運行時狀態
- Heron UI中查看Topology Instance的PID
- Ubuntu 16.04資源監控工具nmon的使用
- Heron集羣資源監測
- Heron+Prometheus+Grafana實現集羣可視化監測
Streaming Benchmark for Heron
部署基礎過程:
- Ubuntu 16.04安裝使用Redis
- Ubuntu16.04 安裝Leinigen
- Kafka的安裝和使用(Kafka Doc-QuickStart)
- Kafka+Zookeepr的單節點集成配置
- Kafka_0.8.2.0與Zookeeper的集成配置
- Kafka清除topic及相關數據
流式計算組件集成:
- 使用JMX+JConsole監控Kafka
- Kafka與Heron的集成和使用
- Storm流式作業遷移至Heron
調度機制及任務分配算法解析
- Heron調度機制源碼解析(待完成)
- RoundRobin Packing Algorithm解析
- RoundRobin Comparison Algorithm解析
- First Fit Decreasing Packing Algorithm解析
學術論文資源
Heron相關原始論文:
- Twitter Heron: Stream Processing at Scale
- Streaming@Twitter
- Twitter Heron: Towards Extensible Streaming Engines
我的論文:
異常及問題記錄
1. 集羣環境搭建
- Solved – Could not get lock /var/lib/dpkg/lock – open
- Zookeeper Error: Heron Failed to set packing plan for topology ‘WordCountTopology’
- 解決Hadoop Safe Mode的問題
- 成功啓動集羣-解決“Regular plan unhealthy!” 問題
- 提交Heron Topology後Auroa, Mesos的運行情況梳理(問題及解決)
- Aurora scheduler安裝遇到的問題
- Heron集羣搭建常見問題
Stack Overflow相關問題及解答:
- How to create a Twitter Heron project using IntelliJ IDEA on Windows 10?
- heron activate Error: cluster/role/environ does not match. Topology ‘WordCountTopology’ is running at local/root/default, not local/yitian/default
- How to deploy a Twitter Heron on Windows OS?
- Aurora Instances are always pending status after submitted Heron Topology
- The RAM requirements for modifying the topology are invalid in Heron
- Error: Regular plan unhealthy in Mesos
- The command status stop “Creating job WordCountTopology” after submit a Topology
- Mesos agent always in Deactivated state
2. 拓撲提交運行
- Error: Cannot run program "curl". when submit Topology in Heron(Local)
- 解決Heron Cluster中Topology已存在異常
- Heron集羣搭建完成後拓撲提交問題及解決
- 解決Heron Error: Job yitian/devel/WordCountTopology already exists問題
- Solved HDFS DataNode Error when submit Heron Topologies
3. Heron streaming benchmark
- 解決java.lang.ClassNotFoundException: kafka.api.OffsetRequest問題
- 解決SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"問題
- 解決java.lang.ClassNotFoundException: storm.kafka.BrokerHosts問題
- Kafka Error reading field ‘topic_metadata’: Error reading array of size 1702065152, only 29 bytes解決
主要參考資料
- Heron官方文檔(英文)
- Heron GitHub
- Heron tag on Stack Overflow
- Setting up Heron with Aurora Cluster Locally on Linux
- http://aurora.apache.org/documentation/latest/operations/installation/