Hadoop分布式文件系统

时间:2014-02-13 07:19:15

标签: hadoop

我有一个有3个块的file.txt(块a,块b,块c)。 hadoop如何将这些块写入Cluster ..我的问题是hadoop是否遵循并行写入?或者块b是否必须等待块a写入群集?或阻止a和块b和块c平行写入hadoop簇......

2 个答案:

答案 0 :(得分:5)

将文件从本地文件系统复制到HDFS 在HDFS中创建新文件时:按顺序复制块 - 首先,第一个块是复制到datanode,然后将第二个块复制到datanode,依此类推。

然而,并行完成的是副本放置:当datanode从客户端接收块的数据时,datanode将数据保存在代表块的文件中,并同时重新发送数据到另一个datanode,它应该创建另一个块的副本。

将文件从一个位置复制到HDFS群集内部或两个HDFS群集之间的另一个位置时:使用DistCp并行执行此操作。

答案 1 :(得分:1)

当您尝试复制文件或从本地系统创建新文件到任何HDFS时:块被复制为数据节点的序列,这在阵列中非常类似。这是数据块的连续 - 顺序安排。

当发生此握手时,datanode收到第一个请求的那一刻,此被复制到一个文件,创建一个SAVEPOINT 然后对其他块顺序发生相同的进程,这使得它是多余的,保存的状态用于比较。

当您将文件从一个段复制到同一个块内或另一个块之间的另一个段时,您可以使用 AHDC (Apache Hadoop DistCp)。

Hadoop旨在保持数据状态恢复,直到事务完成。