声明:均为原创文章,转载请注明出处!
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/