Hadoop简介和安装及伪分布式 大数据概念 大数据概论
大数据(Big Data): 指无法在一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,是需要新处理模式才能具有更强的决策力,洞察发现力和流程优化能力的海量,高增长率和多样化的信息资产.
主要解决海量数据的存储和海量数据的分析计算问题.
按顺序给出数据存储单位:bit,Byte,KB,MB,GB,TB,PB,EB,ZB,YB,BB,NB,DB.
1Byte =8bit 1KB=1024Byte 1MB=1024KB 1GB=1024MB 1TB=1024GB 1PB=1024TB
大数据特点(4V)
Volume(大量):
截至目前,人类生产的所有印刷材料的数据量是200PB,而历史上全人类总共说过的话的数据量大约是5EB.当前,典型个人计算机硬盘的容量为TB量级,而一些大企业的数据量已经接近EB量级.
Vekocity(高速):
这是大数据区分于传统数据挖掘的最显著特征.根据IDC的"数字宇宙"的报告,预计到2020年,全球数据使用量将达到35.2ZB.在如此海量的数据面前,处理数据的效率就是企业的生命.
Variety(多样):
这种类型的多样性也让数据被分为结构化数据和非结构化数据.相对于以往便于存储的以数据库/文本为主的结构化数据,非结构化数据越来越多,包括网络日志,音频,视频,图片,地理位置信息等,这些多类型的数据对数据的处理能力提出了更高要求.
Value(低价值密度):
价值密度的高低与数据总量的大小成反比.如何快速对有价值数据"提纯"成为目前大数据背景下待解决的难题.
大数据部门组织结构大数据部门组织结构,适用于大中型企业.
从Hadoop框架讨论大数据生态 Hadoop是什么hadoop的初衷是采用大量的廉价机器,组成一个集群!完成大数据的存储和计算!
Hadoop三大发行版本Hadoop三大发行版本:Apache、Cloudera、Hortonworks。
Apache版本最原始(最基础)的版本,对于入门学习最好。
Cloudera在大型互联网企业中用的较多。
Hortonworks文档较好。
Hadoop的优势(4高)
高可靠性
Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失.
高扩展性
在集群间分配任务数据,可方便的扩展数以千计的节点.
高效性
在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度.
高容错性
能够自动将失败的任务重新分配
Hadoop组成(面试重点)Hadoop1.x
HDFS: 负责大数据的存储
common: HDFS和MR共有的常用的工具包模块
MapReduce: 负责计算,负责计算资源的申请的调度
完成大数据的计算
写程序.程序需要复合计算框架的要求
java-->main-->运行
MapReduce(编程模型)-->Map-->Reducer
运行程序.申请计算资源(CPU+内存,磁盘IO,网络IO)
java-->JVM-->os-->申请计算资源
1.x: MapReduce(编程模型)-->JobTracker-->JVM-->申请计算资源
2.x: MapReduce(编程模型)-->jar-->运行时,将jar包中的任务,提交给YARN,和YARN进行通信
由YARN中的组件-->JVM-->申请计算资源
1.x和2.x的区别是将资源调度和管理进行分离!由统一的资源调度平台YARN进行大数据计算资源的调度!提升了Hadoop的通用性!Hadoop搭建的集群中的计算资源,不仅可以运行Hadoop中的MR程序!也可以运行其他计算框架的程序!
由于MR的低效性,出现了许多更为高效的计算框架!例如:Tez,Storm,Spark,Flink
HDFS架构概述HDFS: 负责大数据的存储
核心进程(必须进程):
NameNode(1个):存储文件的元数据.如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等.
职责
接收客户端的请求!
接收DN的请求!
向DN分配任务!
DataNode(N个):在本地文件系统存储文件块数据,以及块数据的校验和.
职责
负责接收NN分配的任务!
负责数据块(block)的管理(读,写)!
可选进程:
Secondary Namenode(N个):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照.
MapReduce架构概述MapReduce将计算过程分为两个阶段:Map和Reduce
Map阶段并行处理输入数据
Reduce阶段对Map结果进行汇总