HDFS架构
短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
HDFS架构(Master-Slave)
- 几个进程的角色
- nameNode(master):用于保存、管理、持久化文件的元数据(文件名、文件副本数、文件块大小、文件块列表),同时还要接收客户端的文件读写请求。
- secondaryNameNode:用于实时同步文件元数据,给nameNode服务做副本,担当高可用备份,nameNode处于正常状态时secondaryNameNode只sandBy。
- dataNode(slave):真正存储文件块,分布在每个节点上。
- dfsClient:向hdfs发请求,当用户发起一个hdfs文件读、写、查询等请求时,集群都会启动一个dfsClient进程,dfsClient先访问nameNode获取文件元数据,然后根据元数据解析出文件分片的分布情况,最后去各dataNode完成真正的读写。它扮演着用户与hdfs交互中间人的角色,同时文件的拆分和拼装也是在dfsClient进程完成的。
- HDFS文件读写流程
- 读取:系统接收到用户读请求后,首先启动一个dfsClient进程,这个进程拿着用户传递的文件路径等信息,传递给nameNode,nameNode返回文件分片的分布节点列表,dfsClient就近读取文件分片,并将各分片拼装为完整文件返回给用户。
- 写入:系统接收到用户写请求后,首先启动一个dfsClient进程,这个进程将写入文件的信息提交给nameNode,nameNode根据集群情况将文件进行分片和位置规划,再将规划信息返回给dfsClient,dfsClient根据规划信息将文件切分成特定的块,然后根据位置规划分别与对应的dataNode建立管道,将分片传输到对应的dataNode上。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341