读写hdfs

写的replication数量与client端的设置(或xml)文件有关,与服务端无关。当服务端的datanode个数小于请求的replication数,只写datanode的个数个replication。50070页面显示的会是你请求的副本数,说明50070页面只是反映了namenode记录的信息,不是真实的。

image.png

写:

  1. client 端向namenode请求上传文件。 namenode响应,看看文件是否已经存在?目录是否存在?如果都没问题,告诉client可以上传。
  2. client请求上传第一个block(文件的切分是在client端做的),请求返回可以写的datanode。namenode根据datanode的剩余空间和距离(在同一个机架)返回client请求数量备份个数的namenode。(与请求端同机架①,跨机架②,与①同机架但不同机器③)
  3. client会直接向①发送请求简历block传输的channel。这台datanode再与集群中其他要背写的datanode建立连接,当数据从client端一个个packet(64k)写到①,就会实时的向其他datanode同步。以chunk(512byte)为单位校验。

读:
请求下载文件 /../../...txt
namenode 给相应, 返回目标文件的元数据信息。
3.根据返回的元数据信息,找离自己最近的,请求读取block块,建立nio socket连接,用stream写
4.传输数据,
5.传完一个块儿,再利用元数据找块,继续stream写


Screen Shot 2017-07-23 at 10.50.14 AM.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • hadoop HDFS原理解析01 HDFS架构•NameNode•DataNode•Sencondary Nam...
    白菜青萝卜阅读 7,748评论 2 30
  • 认识HDFS HDFS的特点: 高容错性高吞吐量故障的检测和自动快速恢复流式的数据访问大数据集一次写入,多次读写 ...
    Bloo_m阅读 8,554评论 6 8
  • 一日一景 金铂传承师徒情, 智巧兼优方能成。 工匠精神锤敲铸, 奕奕生辉万世存。
    吉光片羽_9bc2阅读 1,571评论 1 3
  • 早上,准备从济南启程回家,就在手机放入口袋的一刹那,不小心点到了系统升级这一选项,由于着急赶火车,所以我强制关机了...
    不算太胖的姑娘阅读 3,089评论 2 1

友情链接更多精彩内容