一、HDFS设计架构
1)块(Block)
固定大小的逻辑单元,HDFS的文件被分成块进行存储,HDFS块的默认大小是64M.块是文件存储处理的逻辑单元.
2)NameNode
是管理节点,存放文件的元数据
文件与数据块的映射表
数据块与数据节点的映射表
3)DataNode
是HDFS的工作节点,存放数据块
二、数据管理策略
1、每个数据库块3个副本,分布在两个机架内的3个节点.
2、DataNode定期向NameNode发送心跳信息
3、二级NameNode定期同步元数据映像文件和修改日志,NameNode发送故障时,备胎转正
三、HDFS的读写流程
1、HDFS的读取文件的流程
2、HDFS的写文件流程
四、HDFS特点
1、流式的数据访问(写一次,读多次)
2、数据冗余,硬件容错
3、存储大文件
4、适用性与局限性
1)适合数据批量读写,吞吐量高
2)适合一次写入,多次多写
3)不适合交互式应用,低延迟很难满足
4)不支持多用户并发写相同文件
五、MapReduce的原理
分而治之,一个大任务分成多个小的子任务(map),并行执行后,合并结果(reduce).比如一个100G的日志,处理的话,如下图所示
六、MapReduce的运行流程
1、Job & Task
一个Job可以拆分成多个Task,task可以分为MapTask和ReduceTask
JobTracker的角色
1、作业调度
2、分配任务,监控任务执行进度
3、监控TaskTracker的状态
TaskTracker 的作用
1、执行任务
2、汇报任务状态
七、MapReduce的容错机制
1、重复执行
重试执行4次失败之后,放弃执行
2、推测执行
对执行慢的重新起一个任务执行,将原进程停掉
如果想了解更多的大数据相关知识,请关注公众号:架构师Plus