大数据复习
Posted 小企鹅推雪球!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据复习相关的知识,希望对你有一定的参考价值。
文章目录
摘要
- 恍惚间以及工作了半年了,最近发现自己除了日常工作外都没时间学习了,因此决定将在校期间学习到的知识点重新复习一下。
大数据的简介
- 大数据是指无法再一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,同时大数据也是需要新的处理模式才能具有更强的决策力,洞察发现力和流程优化能力的海量以及多样化的信息资产。
- 大数据的特点:大量,高速,多样,真实以及低价值。
2.1 大量:指的是采集,存储和计算的数据量都非常大。
2.2 高速:指的是在大数据时代,数据的创建,存储,分析都被要求高速处理,比如电商网站的个性化推荐尽可能要求实时完成推荐,这也是大数据区别于传统数据挖掘的显著特征。
2.3 多样:数据的形式和来源多样化,包括结构化,半结构化和非结构化数据,具体表现为网络日志,音频,视频,图片,地理位置信息等等,多类型的数据对数据的处理能力提出了更高的要求。
2.4 真实:确保数据的真实性,才能保证数据分析的正确性。
2.5 低价值:数据价值密度相对较低,互联网催生了海量数据,但是价值密度较低,如何结合业务罗杰并通过强大的机器算法来挖掘数据价值,是大数据时代最需要解决的问题。
Hadoop简介
- Hadoop是一个适合大数据的分布式存储和计算平台,狭义上说Hadoop就是一个框架平台,广义上讲Hadoop代表大数据的一个技术生态圈,包括很多其他的软件框架。
- Hadoop生态圈技术栈包括:Hadoop(HDFS + MapReduce + Yarn),Hive 数据仓库工具,HBase 海量列式非关系型数据库,Flume 数据采集工具,Sqoop ETL工具,Kafka 高吞吐消息中间件等。
- Hadoop的特点包括:
3.1 扩容能力(Scalable):Hadoop是再计算机集群内分配数据并完成计算任务,集群可以方便的扩展到数以千计个节点。
3.2 低成本(Economical):Hapoop通过普通廉价的机器组成服务器集群来分发以及处理数据,成本很低。
3.3 高效率(Efficient):Hapood可以在节点之间动态并行的移动数据,速度很快。
3.4 可靠性(Rellable):能自动维护数据的多份复制,并且在任务失败后能自动的重新部署(redeploy)计算任务。
Hadoop的发行版本
- 目前Hadoop发行版本非常多,有Cloudera发行版(CDH)、Hortonworks发行版、华为发行版、Intel发行版等,所有这些发行版均是基于Apache Hadoop衍生出来的。
- 目前Hadoop常用的三个版本分别是:Apache Hadoop版本(最原始的,所有发行版均基于这个版本进行改进)、Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”)、Hortonworks版本(Hortonworks Data Platform,简称“HDP”)。
- Apache Hadoop 原始版本(官网地址:http://hadoop.apache.org/),拥有全世界的开源贡献,代码更新版本比较快,需要注意版本的升级,版本的维护,以及版本之间的兼容性。
- 软件收费版本ClouderaManager CDH版本 --生产环境使用(官网地址:https://www.cloudera.com/)。Cloudera是是美国一家大数据公司在Apache开源Hadoop的版本上,通过自己公司内部的各种补丁,实现版本之间的稳定运行,大数据生态圈的各个版本的软件都提供了对应的版本,解决了版本的升级困难,版本兼容性等各种问题。
- 免费开源版本HortonWorks HDP版本–生产环境使用(官网地址:https://hortonworks.com/)。hortonworks主要是雅虎主导Hadoop开发的副总裁,带领二十几个核心成员成立Hortonworks,核心产品软件HDP(ambari),HDF免费开源,并且提供一整套的web管理界面,供我们可以通过web界面管理我们的集群状态,web管理界面软件HDF网址(http://ambari.apache.org/)
Apache Hadoop版本更迭
- 0.x 系列版本:Hadoop当中最早的一个开源版本,在此基础上演变而来的1.x以及2.x的版本
- 1.x 版本系列:Hadoop版本当中的第二代开源版本,主要修复0.x版本的一些bug等
- 2.x 版本系列:架构产生重大变化,引入了yarn平台等许多新特性
- 3.x 版本系列:EC技术、YARN的时间轴服务等新特性
Hadoop的优缺点
Hadoop的优点:
- Hadoop具有存储和处理数据能力的高可靠性。
- Hadoop通过可用的计算机集群分配数据,完成存储和计算任务,这些集群可以方便地扩展到数以千计的节点中,具有高扩展性。
- Hadoop能够在节点之间进行动态地移动数据,并保证各个节点的动态平衡,处理速度非常快,具有高效性。
- Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配,具有高容错性。
Hadoop的缺点:
- Hadoop不适用于低延迟数据访问。
- Hadoop不能高效存储大量小文件。
- Hadoop不支持多用户写入并任意修改文件。
Apache Hadoop的重要组成
Hadoop=HDFS(分布式文件系统)+MapReduce(分布式计算框架)+Yarn(资源协调框架)+Common模块。
-
Hadoop HDFS(分布式文件系统):(Hadoop Distribute File System )一个高可靠、高吞吐量的分布式文件系统。比如:100T数据存储,采用“分而治之”的思想,进行数据切割,100T数据拆分为10G一个数据块由一个电脑节点存储这个数据块。HDFS主要用于数据切割,制作副本,分散存储。
1.1 NameNode(nn):存储文件的元数据,比如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
1.2 SecondaryNameNode(2nn):辅助NameNode更好的工作,用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据快照。
1.3 DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验.
1.4 NN,2NN,DN这些既是HDFS角色名称,也是进程名称,代指电脑节点名称!! -
Hadoop MapReduce(分布式计算框架):一个分布式的离线并行计算框架,用于拆解任务,分散处理,汇整结果。 MapReduce计算 = Map阶段 + Reduce阶段,Map阶段就是“分”的阶段,并行处理输入数据;Reduce阶段就是“合”的阶段,对Map阶段结果进行汇总;
-
Hadoop Yarn(资源协调框架):作业调度与集群资源管理的框架, Yarn主要用于计算资源协调
3.1 Yarn中有如下几个主要角色,同样,既是角色名、也是进程名,也指代所在计算机节点名称。
3.2 ResourceManager(rm):处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度;
3.3 NodeManager(nm):单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令;
3.4 ApplicationMaster(am):数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错。
3.5 Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。
3.6 ResourceManager是老大,NodeManager是小弟,ApplicationMaster是计算任务专员。 -
Hadoop Common:支持其他模块的工具模块(Configuration、RPC、序列化机制、日志操作)
以上是关于大数据复习的主要内容,如果未能解决你的问题,请参考以下文章