Hdfs总结
1.读写流程
读出数据
- 跟namenode通信查询元数据,找到文件块所在的datanode服务器
- 挑选一台datanode(就近原则,然后随机)服务器,请求建立socket流
- datanode开始发送数据(从磁盘里面读取数据放入流,以packet为单位来做校验)
- 客户端以packet为单位接收,先在本地缓存,然后写入目标文件
写入数据
2.hdfs的工作机制
HDFS集群分为两大角色:NameNode、DataNode
NameNode负责管理整个文件系统的元数据
DataNode 负责管理用户的文件数据块
文件会按照固定的大小(blocksize)切成若干块后分布式存储在若干台datanode上
每一个文件块可以有多个副本,并存放在不同的datanode上
Datanode会定期向Namenode汇报自身所保存的文件block信息,而namenode则会负责保持文件的副本数量
HDFS的内部工作机制对客户端保持透明,客户端请求访问HDFS都是通过向namenode申请来进行
3.namenode工作机制
4.namenode职责
负责客户端请求的响应
元数据的管理(查询,修改)
管理datanode的状态
5.namenode启动流程
格式化文件系统,为了生成fsimage镜像文件
启动NameNode
(1)读取fsimage文件,将文件内容加载进内存