解锁式学习
22人加入学习
(0人评价)
大数据___Hadoop离线阶段
价格 免费
承诺服务
该课程属于 2213-梁同学-大数据方向-就业:是 请加入后再学习

hdfs的设计目标:单台机器的存储问题

hdfs的架构图:主从架构

namenode:主节点,接收用户请求,管理元数据信息

datanode:从节点,存储数据,出磁盘

secondaryNanmenode:辅助namenode管理元数据信息,合并fsimage与edits文件

如果namenode是HA的模式:(active与standby)

journalnode:负责从节点与备份节点的元数据的共享问题

zkfc:zkFailoverController守护进程,监看namenode的健康状况

w文件的副本机制与block块:

文件的副本机制:解决了如何保证数据不丢失的问题

block块存储:默认128M

hdfs的元数据管理fsimage与edits

fsimage:存放了一份比较完整的元数据信息,元数据存放在两个地方,一个是磁盘文件,一个是内存

edits:最近一段时间的操作日志,时间长短1小时,文件大小64M

secondaryNamenode:edits文件达到触发合并的条件,snn就开始工作

1:通知nn切换edits文件

2:通过http请求,获取fsimage与edits文件

3:将fsimage与edits文件加载到内存当中进行合并,形成最新的fsimage文件

4:将新的fsimage文件发送到nn替换掉旧的fsimage文件

hdfs的写入过程;

1:客户端请求namenode上传文件

2:namenode校验客户端是否能够上传

3:客户端请求namenode第一个block块上传位置

4:namenode通过机架感知原理,找到离客户端最近的一个block块的位置,告诉给客户端

5:与datanode建立长连接pipeline管道,客户端以packet(64kb)的方式发送数据到datanode上面去

6:第一个block块上传完成,给客户端一个ack的反馈机制,继续传送第二个block块

8、文件的读取过程

1:客户端请求namenode读取数据

2:namenode校验文件是否存在,权限是否正确,返回给客户端一个block块的列表地址

3:客户端获取到block块的地址后,与datanode建立通信,读取所有的block块

4:客户端将block块进行拼接

MapReduce

yarn资源管理器

resourcemanager:主节点,接收用户请求,分配资源

nodemanager:从节点,接收分配的任务,执行具体的任务

applicationMaster:每个任务resourcemanager都会启动一个APPmaster来进行全权的管理,主要负责资源的申请,任务的分配,任务进度的执行情况

 

MapReduce设计构思:

map阶段:主要负责分开,将大的任务划分成小任务

reduce阶段:主要负责合并,将map阶段处理完成的结果进行汇总

 

MapReduce的编程规范:

1:读取文件,解析成key、value对,TextInputFormat

2:自定义map逻辑,接收k1,v1,转换成

k2,v2进行输出

shuffle阶段的四个步骤

3:分区,相同key的value发送到同一个reduce里面去,相同key合并,value形成一个集合

4:排序

5:规约

6:分组

reduce阶段的两个步骤

7:自定义reduce逻辑,接收k2,v2,转换成新的k3,v3进行输出

8:输出我们k3,v3,TextOutFormat

 

 

 

 

 

[展开全文]

授课教师

高级算法工程师
老师

课程特色

考试(25)
图文(1)
视频(190)
下载资料(1)

学员动态

lucyszzz 加入学习
3047徐剑 开始学习 资料下载
lucyszzz 加入学习