Hadoop 在写数据的时候,比如a文件学到A数据块,数据备份的时候会将数据复制到B,C块,如果这时候b文件写到A数据块,这个数据备份事怎么处理呢,继续往B,C写还是可以随机写到D,E块?

0
已邀请:
1

MarsJ - 大数据玩家~DS 2016-08-31 回答

A文件写到A数据块、B文件写到A数据块,这种说法应该是不正确的。只能说一个文件会根据其大小被切分成几块,假设集群的块大小被设置成64M,若A文件的大小是120M,那么A文件就会被切分成2块,BlockA1和BlockA2,数据备份的时候是分别把BlockA1和Block2复制2份然后分发到其他节点上去,再来一个文件也是这么操作。至于分发到哪几个节点,则由NameNode根据当前各DataNode反馈的节点状态信息去决策。
 
后续会有一讲专门讲HDFS的原理架构,就会提及到这些内容,课程链接 https://edu.hellobi.com/course/93  如果有兴趣的话,可以关注一下。

要回复问题请先登录注册