HDFS中如何数据读取的?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
HDFS提供了一个API可以确定一个主节点所属Rack的ID,客户端通过调用API获取自己所属的Rack ID。当客户端读取数据时,从主节点获取数据块不同副本的存放位置列表,列表中包含了副本所在的从节点,可以调用API来确定客户端和这些从节点所属的Rack ID。当发现某个数据块副本的Rack ID和客户端对应的Rack ID相同时,就优先选择该副本读取数据。