一.大数据概述
1.什么是大数据
高速发展的信息时代,新一轮科技革命和变革正在加速推进,技术创新日益成为重塑经济发展模式和促进经济增长的重要驱动力量,而“大数据”无疑是核心推动力。
那么,什么是“大数据”呢?如果从字面意思来看,大数据指的是巨量数据。那么可能有人会问,多大量级的数据才叫大数据?不同的机构或学者有不同的理解,难以有一个非常定量的定义,只能说,大数据的计量单位已经越过TB级别发展到PB、EB、ZB、YB甚至BB来衡量。
2.大数据的特征
大数据主要具有以下四个方面的典型特征,即大量(Volume)、多样(Varity)、高速(Velocity)和价值(Value),即所谓的“4V”。
3.研究大数据的意义
现在的社会是一个高速发展的社会,科技发达,信息流通,人们之间的交流也越来越密切,生活也越来越便捷,然而大数据就是这个高科技时代的产物。阿里巴巴的创办人马云曾经说过,未来的时代将不是IT时代,而是DT的时代,DT就是Data Technology数据科技,这显示出大数据对于阿里巴巴集团来说是举足轻重的
4.大数据的应用场景
- 医疗行业的应用
- 金融行业的应用
- 零售行业的应用
5.Hadoop的前世今生
- 2003-2005 Nutch的创始人Doug Cutting受到启发,实现了DFS和MapReduce机制
Hadoop作为Nutch的一部分被引入Apache基金会,随后又从Nutch中剥离,成为一套完整独立的软件,起名为Hadoop - 2004-2009 Hadoop成为Apache顶级项目。
Hive、MapReduce、HDFS、Avro以 及Chukwa成为Hadoop的子项目。 - 2010-2011 Avro、HBase、Hive、Pig、ZooKeeper陆续脱离Hadoop,成为Apache顶级项目。 Hadoop1.0.0版本发布,标志着Hadoop已经初具生产规模。
- 2012-2013
Hadoop 2.0.0-alpha版本发布、
Impala加入Hadoop生态圈、
Hadoop2.0.0版本发布 -
2014-2017
Spark成为Apache顶级项目
Hadoop3.0.0版本发布。6.Hadoop的优势
- 扩容能力强:Hadoop是在可用的计算机计算机集群间分配数据并完成计算任务,这些集群可以方便地扩展到数以千计的节点。
- 成本低:Hadoop通过廉价的计算机组成服务器集群来分发及处理数据,相比使用大型机乃至超级计算机的处理系统,成本低很多。
- 高效率:通过并发数据,动态并行处理数据,使得处理数据非常快。
- 可靠性:能自动维护数据的多份复制。
- 高容错性
7.Hadoop的生态系统
广义上:随着Hadoop的不断发展,Hadoop生态体系越来越完善,现如今已经发展成一个庞大的生态体系
- HDFS分布式文件系统:HDFS是Hadoop的分布式文件系统,它是Hadoop生态系统中的核心项目之一,是分布式计算中数据存储管理基础。
- MapReduce分布式计算框架:是一种计算模型,用于大规模数据集(大于1TB)的并行运算
- Yarn资源管理框架:是Hadoop2.0中的资源管理器,它可为上层应用提供统一的资源管理和调度。
- sqoop数据迁移工具:sqoop是一款开源的数据导入导出工具,主要用于在Hadoop与传统的数据库间进行数据的转化。
- Mahout数据挖掘算法库:开源项目,它提供了一些可扩展的机器的机器学习领域经典算法的实现,在帮助开发人员方便快捷地创建智能应用程序。
- Hbase分布式存储系统:是HBase是Google Bigtable克隆版,它是一个针对对结构化数据的可伸缩,高可靠,高性能,分布式和面向列的动态模式数据库。
- Zookeeper分布式协作服务:是一个分布式的,开放源码的分布式应用程序协调服务,
是Google的Chubby一个开源的实现,是Hadoop和HBase的重要组件。
-
Hive基于Hadoop的数据仓库:Hive是基于Hadoop的一个分布式数据仓库工具,可以将结构化的数据文件映射为一张数据库表,将SQL语句转换为MapReduce任务进行运行。
-
Flume日志收集工具:Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
8.Hadoop的版本
- Hadoop发行版本分为开源社区版和商业版。
- 社区版是指由Apache软件基金会维护的版本,是官方维护的版本体系。
- 商业版Hadoop是指由第三方商业公司在社区版Hadoop基础上进行了一些修改、整合以及各个服务组件兼容性测试而发行的版本。
- Hadoop自诞生以来,主要分为Hadoop1、Hadoop2、Hadoop3三个系列的多个版本
9.Hadoop的运行模式
1.单机模式
单机模式是Hadoop的默认模式,安装时不需要修改配置文件。这时Hadoop运行在一
台计算机上,不需要启动 HDFS和YARN,运行时也不用Hadoop的守护进程。MapReduce相比运行处理数据时只有一个Java进程,MapO和Reduce()任务作为同一个进程的不同部分来
得处理速 执行,同时MapReduce使用本地文件系统进行数据的输入输出,而不是分布式文件系统。这种模式主要用于对MapReduce程序的逻辑进行调试,确保程序的正确。
2.伪分布式模式
Hadoop安装在一台计算机上,安装时需要修改相应的配置文件,用一台计算机模拟多台主机的集群。Hadoop运行时需要启动 HDFS和 YARN,NameNode、DataNode、 ResourceManager、NodeManager这些守护进程都在同一台机器上运行,是相互独立的Java进程。在这种模式下,Hadoop使用的是分布式文件系统,各个作业也是由MRAppMaster来管理的独立进程。伪分布式模式类似于完全分布式模式,因此,这种模式常用来进行学习和开发测试Hadoop程序的执行是否正确提供。
3.完全分布式模式
在多台计算机上安装JDK和Hadoop,组成相互连通的集群,安装时需要修改相应的配置文件。运行时,Hadoop的守护进程运行在由多台主机搭建的集群上,是真正的生产环境。