0. 大数据 4V 特点
【volume】
体量大
【variety】
样式多,结构化/非结构化/半结构化
数据来源多样化:摄像头、传感器、Web
数据格式多样化:结构化数据(MySQL)、半结构化数据(xml)、非结构化数据(文本文件)、图片文件。
【valueless】
价值密度低
【velocity 】
速度快
1. Hadoop 是什么
【官网说明】
Apache™Hadoop®项目开发了用于可靠,可扩展的分布式计算的开源软件。
Apache Hadoop软件库是一个框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集。它旨在从单个服务器扩展到数千台计算机,每台计算机都提供本地计算和存储。每个计算机都可能容易出现故障,库本身不是依靠硬件来提供高可用性,而是设计用于检测和处理应用程序层的故障,从而在计算机集群之上提供高可用性服务。
介绍
Hadoop是一个开源的框架,可编写和运行分布式应用处理大规模数据,是专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式。
Hadoop=HDFS(文件系统,数据存储技术相关)+ Mapreduce(数据处理),Hadoop的数据来源可以是任何形式,在处理半结构化和非结构化数据上与关系型数据库相比有更好的性能,具有更灵活的处理能力,不管任何数据形式最终会转化为key/value,key/value是基本数据单元。
用函数式变成Mapreduce代替SQL,SQL是查询语句,而Mapreduce则是使用脚本和代码,而对于适用于关系型数据库,习惯SQL的Hadoop有开源工具Hive代替。
Hadoop就是一个分布式计算的解决方案。
2. Hadoop 四大模块
[Common]
通用模块,是 Hadoop 其他模块的基础
[HDFS]
一种分布式文件系统,可提供对应用程序数据的高吞吐量访问。
hadoop distributed file system
namenode : 元数据,spof单点故障
datanode : 数据
secondardy namenode : 辅助名称节点
HA : high availability,高可用问题。持续提供服务的能力。99.999%(每年5分钟不在线) , (30m)
元数据: 路径、权限、副本、blockid
HA QJM
federation : 联邦,150bytes
[YARN]
yet another resource neogiate,作业调度和集群资源管理的框架。
resourcemanager 资源管理器
nodemanager 节点管理器
[MapReduce]
分布式计算模块
MR ,高度简化的编程模型。
map[映射] - reduce(化简)