Hadoop初学习笔记

hadoop 大型框架
定义: 开源的分布式系统基础架构
分布式: 多台服务器共同完成某一项任务
用途: 海量数据的存储,分析计算
特性: 
高效性(可并行工作),
高扩展性(可动态增加/删除节点)
高可靠性(底层维护多个数据副本)
高容错性(自动将失败的任务重新分配)

HDFS架构概述Hadoop Distributed File System 分布式文件系统

用于存储文件,通过目录树来定位文件

使用场景:适合一次写入,多次读出,一个文件经过创建,写入和关闭后不需要再改变


NameNode(简称nn):  存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),j以及每个文件的块列表和块所在的DataNode等,相当于Master,是一个管理者

a. 管理HDFS的名称空间

b. 配置副本策略

c. 管理数据库(block)映射信息

d.处理客户端读写请求

DataNode(dn): 在本地文件系统存储文件快数据,以及块数据的校验和,相当于slave,nn下达命令,dn执行实际操作

a. 存储实际的数据块

b. 执行数据库的读/写操作

Secondary NameNode(2nn): 每隔一段时间对NameNode元数据备份

a. 并非nn的热备,当nn挂掉的时候,它不能马上替换nn并提供服务

b. 辅佐nn,分担其工作量,比如定期合并Fsimage和Edits,并推送给nn

c. 紧急情况下,可辅助恢复nn

Client 客户端

a. 文件切分,文件上传HDFS时,Client将文件切分成一个一个的Block,然后上传

b. 与nn交互,获取文件的位置信息

c. 与dn交互,读取或者写入数据

d. Client提供一些命令来管理HDFS,比如nn格式化

e. Client提供通过一些命令来访问HDFS,比如增删查改

优势: 高容错性(多副本),适合处理大数据(数据规模,能处理GB,TB,PB级别的数据/文件规模,能处理百万规模的文件),可构建在廉价机器上

劣势:

不适合低延时数据访问,比如毫秒级的存储数据;

无法高效的对大量小文件存储(大量小文件会占用NameNode大量的内存来存储文件目录和块信息;小文件的寻址时间超过读取时间,违背HDFS设计目标),

不支持并发写入,文件随机修改(一个文件只能有一个写,不允许多线程同时写/仅支持数据append追加,不支持文件的随机修改)

HDFS中的文件在物理上是分块存储(Block),块的大小可以通过配置参数(dfs.blocksize)来规定,默认大小在Hadoop2.x/3.x版本中是128M,1.x版本中是64M
寻址时间为传输时间的1%时,则为最佳时间
 

YARN架构概述 YetAnother Resource Negotiatorjy另一种资源协调者,是Hadoop的资源管理器

ResourceManager(RM): 整个集群资源(内存,CPU等)的老大
NodaManager(NM): 单个节点服务器资源老大(默认1T-8T内存)
ApplicationMaster(AM): 单个任务运行的老大
Container: 容器,相当一*立的服务器,封装了任务运行需要的资源,如内存,cpu,磁盘,网络等,AM在此运行
 

MapReduce架构概述
Map阶段并行处理输入数据
Reduce阶段对Map结果进行汇总

结构化数据(二维表格): 数据库  Sqoop数据传递
半结构化数据:文件日志   Flume日志收集
非结构化数据: 视频,PPT等  Kafka消息队列
 

上一篇:export 和export default


下一篇:大数据与MapReduce