【第一篇】大数据概述与hadoop 的介绍
一:大数据的应用场景:
1.1: 大数据的诞生
2005年Hadoop项目诞生。 Hadoop其最初只是雅虎公司用来解决网页搜索问题的一个项目,后来 因其技术的高效性,被Apache Software Foundation公司引入并成为开源应用。Hadoop本身不是一个产品,而是由多个软件产品组成的一个生态系统,这些软件产品共同实现全面功能和灵活的大数据分析。从技术上看,Hadoop由两项关键服务构成:采用Hadoop分布式文件系统(HDFS)的可靠数据存储服务,以及利用一种叫做MapReduce技术的高性能并行数据处理服务。这两项服务的共同目标是,提供一个使对结构化和复杂数据的快速、可靠分析变为现实的基础。
1.2: 2015 大数据的峰会
过去7年我们从互联网创业到互联网产业,很快进入互联网经济,
而且正在从IT走向DT时代,也许昨天称为IT领袖峰会,未来要称DT领袖峰会,
DT不仅仅 是技术提升,而是思想观念的提升。
DT和IT时代区别,IT以我为中心,DT以别人为中心,DT要让企业越来越强大,
让你员工强大。DT越来越讲究开放、透明。
我们所有企业都要思考什么样的文化、什么样的组织、
什么样的人才才能适应未来DT时代,相信整个DT时代到来,在海外这被称为D经济。
1.3: 什么是大数据
大数据(big data),或称巨量资料,指的是海量的、高增长率的和多样化的信息资产。不是超过某个特定数量级的数据集才是大数据,而是规模超过现有数据库工具获取、存储、管理和分析能力的数据集才称为大数据。 大数据技术的战略意义不在于掌握庞大的数据信息,而在于对这些含有意义的数据进行专业化处理。换言之,如果把大数据比作一种产业,那么这种产业实现盈利的关键,在于提高对数据的“加工能力”,通过“加工”实现数据的“增值”。(ETL)
1.4:大数据的定义与特征
1.4.1:大数据的特征(4V+1O):
数据量大(Volume)。第一个特征是数据量大,包括采集、存储和计算的量都非常大。大数据的起始计量单位至少是P(1000个T)、E(100万个T)或Z(10亿个T)。
类型繁多(Variety)。第二个特征是种类和来源多样化。包括结构化、半结构化和非结构化数据,具体表现为网络日志、音频、视频、图片、地理位置信息等等,多类型的数据对数据的处理能力提出了更高的要求。
价值密度低(Value)。第三个特征是数据价值密度相对较低,或者说是浪里淘沙却又弥足珍贵。随着互联网以及物联网的广泛应用,信息感知无处不在,信息海量,但价值密度较低,如何结合业务逻辑并通过强大的机器算法来挖掘数据价值,是大数据时代最需要解决的问题。
速度快时效高(Velocity)。第四个特征数据增长速度快,处理速度也快,时效性要求高。比如搜索引擎要求几分钟前的新闻能够被用户查询到,个性化推荐算法尽可能要求实时完成推荐。这是大数据区别于传统数据挖掘的显著特征。
数据是在线的(Online)。数据是永远在线的,是随时能调用和计算的,这是大数据区别于传统数据最大的特征。现在我们所谈到的大数据不仅仅是大,更重要的是数据变的在线了,这是互联网高速发展背景下的特点。比如,对于打车工具,客户的数据和出租司机数据都是实时在线的,这样的数据才有意义。如果是放在磁盘中而且是离线的,这些数据远远不如在线的商业价值大。
1.4.2:大数据的定义:
大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理(MPP)数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
2.1: hadoop 的概述
2.1.1、简介
Hadoop是一个实现了MapReduce计算模式的能够对大量数据进行分布式处理的软件框架,是一种可靠、高效、可伸缩的处理数据架构。Hadoop计算框架最核心的设计是HDFS(Hadoop Distributed File System)和MapReduce,HDFS单看全称就知道,实现了一个分布式的文件系统,MapReduce则是提供一个计算模型,基于分治策略。
2.1.2、Hadoop特性
第一,它是可靠的,因为它假设计算元素和存储会失败,因此它默认维护多个工作数据副本,确保能够针对失败的节点重新分布处理。 其次,Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB 级数据。 此外,Hadoop 依赖于普通pc机或廉价服务器,可以根据业务规模自行增减节点,因此它的成本比较低,且开源,任何人都可以使用。 总之,Hadoop就是一个适合大量数据的分布式存储和计算的平台。
2.2:hadoop 的核心
Hadoop Common: 为其他Hadoop模块提供基础设施。
Hadoop HDFS: 一个高可靠、高吞吐量的分布式文件系统
Hadoop MapReduce: 一个分布式的离线并行计算框架
Hadoop YARN: 一个新的MapReduce框架,任务调度与资源管理
2.3 hdfs 的架构图:
2.4 :HDFS 服务的功能
NameNode 主节点,存储文件的元数据如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在DataNode等。
DataNode 在本地文件系统存储文件块数据,以及块数据的校验和。
Secondary NameNode 用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照
2.5 : yarn 的架构
YARN 服务功能:
ResourceManager
处理客户端请求 启动/监控ApplicationMaster 监控NodeManager 资源分配与调度
NodeManager
单个节点上的资源管理 处理来自ResourceManager的命令 处理来自ApplicationMaster的命令
ApplicationMaster
数据切分 为应用程序申请资源,并分配给内部任务 任务监控与容错
Container
对任务运行环境的抽象,封装了CPU内存等多维资源以及环境变量、启动命令等任务运 行相关的信息.
2.6: MapReduce on YARN
MapReduce on YARN
1)用户向YARN中提交应用程序/作业,其中包括ApplicaitonMaster程序、启动ApplicationMaster的命令、用户程序等;
2)ResourceManager为作业分配第一个Container,并与对应的NodeManager通信,要求它在这个Containter中启动该作业的ApplicationMaster;
3)ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManager查询作业的运行状态;然后它将为各个任务申请资源并监控任务的运行状态,直到运行结束。即重复步骤4-7;
4)ApplicationMaster采用轮询的方式通过RPC请求向ResourceManager申请和领取资源;
5)一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务;
6)NodeManager启动任务;
7)各个任务通过RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicaitonMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务; 在作业运行过程中,用户可随时通过RPC向ApplicationMaster查询作业当前运行状态;
8)作业完成后,ApplicationMaster向ResourceManager注销并关闭自己;
离线计算框架 MapReduce
一:将计算过程分为两个阶段,map和reduce map 阶段并行处理输入数据 reduce 阶段对map 结果进行汇总。
二:shuffle 连接map 和Reduce 两个阶段 map task 将数据写到本地磁盘 reduce task 从每个map TASK 上读取一份数据
三: 仅适合 离线批处理 具有很好的容错性和扩展性 适合简单的批处理任务
四: 缺点明显 启动开销大,过多使用磁盘导致效率底下等。