学做网站容易吗源代码下载
news/
2025/9/30 16:02:03/
文章来源:
学做网站容易吗,源代码下载,深圳莲花大厦住房和建设局网站,微网站获取访客手机一、文件读取 Client向NameNode发起RPC请求#xff0c;来确定请求文件block所在的位置#xff1b;NameNode会视情况返回文件的部分或者全部block列表#xff0c;对于每个block#xff0c;NameNode 都会返回含有该 block 副本的 DataNode 地址#xff1b; 这些返回的 DN 地…一、文件读取 Client向NameNode发起RPC请求来确定请求文件block所在的位置NameNode会视情况返回文件的部分或者全部block列表对于每个blockNameNode 都会返回含有该 block 副本的 DataNode 地址 这些返回的 DN 地址会按照集群拓扑结构得出 DataNode 与客户端的距离然后进行排序排序两个规则网络拓扑结构中距离 Client 近的排靠前心跳机制中超时汇报的 DN 状态为 STALE这样的排靠后Client 选取排序靠前的 DataNode 来读取 block如果客户端本身就是DataNode,那么将从本地直接获取数据(短路读取特性)底层上本质是建立 Socket StreamFSDataInputStream重复的调用父类 DataInputStream 的 read 方法直到这个块上的数据读取完毕当读完列表的 block 后若文件读取还没有结束客户端会继续向NameNode 获取下一批的 block 列表读取完一个 block 都会进行 checksum 验证如果读取 DataNode 时出现错误客户端会通知 NameNode然后再从下一个拥有该 block 副本的DataNode 继续读。read 方法是并行的读取 block 信息不是一块一块的读取NameNode 只是返回Client请求包含块的DataNode地址并不是返回请求块的数据最终读取来所有的 block 会合并成一个完整的最终文件。
二、文件写入 1.client发起文件上传请求通过RPC与NameNode建立通讯NameNode检查目标文件是否已存在父目录是否存在返回是否可以上传 2. client请求第一个block该传输到哪些DataNode服务器上 3. NameNode根据配置文件中指定的备份数量及机架感知原理进行文件分配返回可用的DataNode的地址如ABC 注Hadoop在设计时考虑到数据的安全与高效数据文件默认在HDFS上存放三份存储策略为本地一份同机架内其它某一节点上一份不同机架的某一节点上一份。 4. client请求3台DataNode中的一台A上传数据本质上是一个RPC调用建立pipelineA收到请求会继续调用B然后B调用C将整个pipeline建立完成后逐级返回client 5. client开始往A上传第一个block先从磁盘读取数据放到一个本地内存缓存以packet为单位默认64KA收到一个packet就会传给BB传给CA每传一个packet会放入一个应答队列等待应答。 6. 数据被分割成一个个packet数据包在pipeline上依次传输在pipeline反方向上逐个发送ack命令正确应答最终由pipeline中第一个DataNode节点A将pipelineack发送给client; 7. 当一个block传输完成之后client再次请求NameNode上传第二个block到服务器。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923037.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!