hdfs详解

hdfs的写流程

hdfs各个节点的工作机制以及hdfs的总结2020-08-17
1、向namenode请求上传文件

2、namenode会去检查元数据(目录、权限、文件),并返回给客户端一个响应。客户端可以上传文件

3、客户端向namenode请求上传第一个块

4、namenode查询元数据,根据负载均衡策略来决定块的存储节点。返回给客户端(dn1、dn2、dn3)

​ 块的副本机制(副本选择策略):近远远

​ 1、第一个块,如果客户端就是集群的节点,则本机就作为第一个块的存储节点,如果不是,则选择一个与客户端近的节点作为块的存储节点。

​ 2、第二个块考虑跨机架挑选一个节点,增加副本的可靠性

​ 3、第三个块考虑与第二个块同机架的不同datanode

​ 2.7之前的策略:近远近

​ 3、第三个块考虑的是与第一个块同机架的不同机器

5、请求建立块的上传通道(client-dn1-dn2-dn3)

6、返回成功应答

7、上传块

8、循环以上步骤,从第3步开始

9、向namenode返回上传成功的消息,namenode更新元数据

问题思考:

1、传输blk1的过程中,dn3如果挂了,怎么处理???不做任何处理。如果dn3又重新启动了,怎么处理???

2、客户端建立连接时,dn3连不上怎么办???向namenode重新要3个节点

3、传输过程中,如果packet传输出错,怎么处理???包重新传输,最多重新传输4次

4、如果blk1、blk2上传成功了,但是blk3上传失败了,怎么处理???上传blk3的时候,dn1挂了,怎么处理???

整个文件被标记为无效,下次datanode上报块报告时,检查出那些节点上存在该文件的块,通知这些datanode删除块。

5、上传blk3的过程中,如果客户端挂了怎么处理??? 超时机制

hdfs的读流程

hdfs各个节点的工作机制以及hdfs的总结2020-08-17
hdfs各个节点的工作机制以及hdfs的总结2020-08-17

各个节点的工作机制

namenode的工作机制

namenode的职责:
1、管理元数据
2、响应客户端的IO请求
3、管理datanode

hdfs各个节点的工作机制以及hdfs的总结2020-08-17

元数据管理的三种形态

1、内存元数据
2、fsimage(安全性考虑,定期将元数据存入磁盘)
3、操作日志edits

namenode 的启动过程:

namenode启动之后:
1、加载fsimage()
2、加载edits
3、保存fisimage
4、namenode会直接进入安全模式
5、等待datanode启动并报告块的信息
6、datanode启动并发送块报告
7、namenode统计块信息,检查配置项,当超过0.999f时,等待15秒,退出安全模式

hdfs各个节点的工作机制以及hdfs的总结2020-08-17

secondarynamenode的职责:

辅助namenode来进行日志的合并—— checkpoint

snn的工作机制,即checkpoint的工作过程

1、snn检查是否可以做checkpoint,并通知namenode
2、namenode立即回滚edits(将之前的操作日志重新命名并且创建一个新的日志文件,以便snn进行存储)
3、namenode上传日志和镜像到snn
4、内存合并元数据,先加载fsimage,后执行edits(将fsimage和edits加载到内存中并进)
5、将内存中合并后的数据溢写到磁盘
6、将f磁盘文件(fsimage。checkpoint)上传到namenode
7、namenode将上传的文件(合并后的数据)校验
8、将checkpoint文件改名

日志和镜像文件的查看

日志的查看:

hdfs oev
hdfs各个节点的工作机制以及hdfs的总结2020-08-17
hdfs各个节点的工作机制以及hdfs的总结2020-08-17

镜像文件的查看

hdfs各个节点的工作机制以及hdfs的总结2020-08-17

思考

hdfs各个节点的工作机制以及hdfs的总结2020-08-17
元数据备份多份
hdfs各个节点的工作机制以及hdfs的总结2020-08-17

datenode工作机制

datanode的职责:
1、管理用户提交的数据
2、块报告机制(报告机器的使用情况(块的存储情况、机器负载情况))
3、心跳机制(只报告是否正常工作)
hdfs各个节点的工作机制以及hdfs的总结2020-08-17

网络拓扑

hdfs各个节点的工作机制以及hdfs的总结2020-08-17

机架感知

hdfs各个节点的工作机制以及hdfs的总结2020-08-17

hdfs总结

1、hdfs的特点
高扩展性、高容错、移动计算而不是移动数据
不适合小文件、不适合低延迟的需求

2、hdfs的安装步骤
先决条件:
1.创建一个条件
2.jdk
3.关闭防火墙
4.静态ip
5.hostname
6.hosts
7.ssh免密
安装步骤:
1 解压安装包
2 配置环境变量
3 配置高级hadoop环境
hadoop的运行环境hadoop-env.sh
hadoop的核心配置 core-site.xml
hadoopde的核心配置hdfs-site.xml
yarn的核心配置yarn-site.xml
mapreduce的核心配置mapred-site.xml
slaves小弟节点
hdfs和集群可否分开???
可以,启动的时候,分别在namenode和resourcemanager上执行start-命令

分发安装包
scp 命令
namenode的初始化——>实际上就是生成了一个新的fsimage文件

重新初始化——>要删除所有节点上的dfs目录

启动集群
hdfs各个节点的工作机制以及hdfs的总结2020-08-17
hadoop的端口号:
8020/9000:对客户端暴露的端口号
50070/50090:web ui 的监控端口
50010:datanode对客户端暴露的端口

803x:yarn相关的端口号
8032 :
8088:yarn web ui 的监控端口

100020/19888:jobhistoryserver相关的端口号

hdfs shell
hdfs dfs -
hadoop fs -
hdfs dfsadmin -
oev
oiv
fsck

读写流程、原理、具体实现(重点)

工作机制:
namenode的职责
hdfs的启动过程
namenode的工作机制
secondarynamenode的工作机制 checkpoint的过程
hdfs各个节点的工作机制以及hdfs的总结2020-08-17

相关文章:

  • 2022-12-23
  • 2022-03-04
  • 2022-01-13
  • 2021-06-20
  • 2021-07-04
  • 2021-09-19
  • 2022-01-15
猜你喜欢
  • 2021-05-03
  • 2021-05-07
  • 2021-07-12
相关资源
相似解决方案