摘要:在这个数据庞大的时代,数据已经渗透到各个领域,成为了不可缺少的一部分。大数据中蕴含了宝贵的价值,为了高效的利用这些价值,需要挖掘出数据潜在的价值。现如今,大数据的研究已经掀起了一股浪潮,批量大数据已经广泛应用于现实生活中,但是由于批量大数据系统适用于先存储后计算,对实时性不高,而目前人们对实时处理的要求越来越高,所以流式大数据处理出现了。
论文首先介绍了大数据的基本概念、特征。其次是根据大数据的计算形态,介绍了批量计算和流式计算的概念以及异同点。然后对流式大数据进行了详细的介绍,从而引出了流式大数据处理系统,总结了流式大数据系统的典型应用以及对典型应用领域中所呈现出来的实时性、易失性、突发性、无序性、无限性等特征进行了描述。论述和对比了五款大数据流式计算系统,并详细介绍了其中一款开源的流式大数据处理系统storm,以及这个系统的配置过程和演示过程,并对演示的storm例子进行详细的介绍。最后梳理了整个系统,并提出了可能的应对之策。
关键词: 大数据 流式大数据 storm
目录
摘要
Abstract
1.绪论-1
1.1研究背景-1
1.2 研究思路以及方法-1
1.2.1 研究思路-1
1.2.2 研究方法-2
2.预备知识-2
2.1 大数据概述-2
2.2 大数据处理的流程-2
2.3 大数据的计算方式以及异同点-3
2.3.1批量计算-3
2.3.2流式计算-3
2.3.3总结-3
3.流式大数据处理系统以及核心技术-5
3.1 流式大数据的基本原理以及技术架构-5
3.1.1 对称式架构-5
3.1.2 主从式系统架构-5
3.2 流式大数据的特点-6
3.2.1实时性-6
3.2.2易失性-6
3.2.3突发性-6
3.2.4无序性-7
3.2.5无限性-7
3.3. 流式大数据相关典型应用分析-7
3.3.1日志采集系统-7
3.3.2传感器采集系统-7
3.3.3 Web数据采集系统-8
3.3.4金融银行业的应用-8
3.4. 分析并且比较几种典型的流式大数据处理系统-8
3.4.1 Twitter的Storm-8
3.4.2 Yahoo的S4系统-9
3.4.3 Facebook的Data Freeway and Puma系统-9
3.4.4 Linkedin的Kafka系统-9
3.4.5 Microsoft的TimeStream系统-10
3.4.6 对比这五种流式大数据-10
4.storm的介绍和分析-10
4.1 storm整体架构-11
4.1.1 storm集群架构-11
4.1.2 storm的运算架构-12
4.2 storm流分组-13
4.3 storm的容错机制-15
4.3.1 worker进程死亡-15
4.3.2 节点死亡-15
4.3.3 nimbus或者supervisor守护进程死亡-15
5. 实验环境搭建-15
5.1. 硬件环境-15
5.2 软件环境-15
5.3. 部署storm单机集群步骤-16
5.3.1 搭建zookeeper集群-16
5.3.2安装JDK6-17
5.3.3安装Python-18
5.3.4安装storm-19
5.3.5 在ubuntu下安装eclipse-22
5.3.6 在ubuntu下安装maven-22
5.4 在windows下进行开发的环境搭建-23
5.4.1 在windows下安装jdk-23
5.4.2 在windows下安装eclipse-23
5.4.3 在windows下安装maven-23
6.storm流式大数据处理系统的开发与设计-23
6.1 设计背景-23
6.2 设计思路-24
6.3 第一个实例-24
6.3.1 开发准备-24
6.3.2 功能以及流程介绍-26
6.3.3 项目解析-26
6.3.4 代码解析-26
6.3.5 结果展示-29
6.3.6 总结-31
6.4 第二个实例-31
6.4.1 研究思想-31
6.4.2 研究流程-31
6.4.3 模块分析-32
6.4.4 实验结果-33
6.4.5 总结-34
7. 可靠性机制分析以及并行度分析-34
7.1可靠性机制分析-34
7.1.1可靠性介绍-34
7.1.2 acker原理分析-35
7.1.3 spout和bolt的可靠性-35
7.1.4 实验分析可靠性-36
7.1.5总结-37
7.2并行度分析-37
7.2.1并行度的相关介绍-37
7.2.2并行度性能分析-38
8.在开发过程中所遇到的问题-40
9. 本设计还存在的问题以及改进-41
9.1 问题-41
9.2 改进-41
10. 结束语-41
致谢-42
参考文献-43