读流程 客户端发起RPC请求访问NameNode namenode会查询元数据,找到这个文件的存储位置对应的数据块信息 namenode将文件对应的数据块的节点地址全部或者部分放入一个队列中然后返回 client收到这个数据块对应的节点地址 client会从队列中取第一个数据块的对应的节点地址,会从这些节点地址中选择一个最近的节点进行读取 将block读取之后,对block进行checksum验证,如果验证失败,说明数据块产生损,那么client会向namenode发送信息说明该节点上的数据块损坏,然后从其他节点中再次读取这个数据块 验证成功,则从队列中取出下一个block的地址,然后继续读