我希望得到一些澄清和确认我对块和输入拆分的理解。
请仔细阅读并告诉我是否正确。到目前为止,我的理解是否正确?
如果到目前为止我是正确的,那么硬盘上的FSImage有什么内容(其中包含哪些内容)?
我的理解是否正确?
非常感谢 亲切的问候 纳特
答案 0 :(得分:0)
将文件(例如1 GB)从本地文件系统复制到 HDFS使用“put”命令,具体取决于设置的块大小 hadoop的配置文件,它将被拆分(比如128 MB)到8 8个不同数据节点上的块(1024 MB文件/ 128 MB块大小)。也 根据复制因素(比如3次),它会被复制 在不同的数据节点上另外复制2份(了解一下) 数据位置)。
=>那是对的。
所有这些块信息(文件名,块名和数据节点在哪里 它们被存储)存储在Name节点的RAM中。此信息 没有存储在FSImage中。
=>所有这些信息都存储在名为EditLog的事务日志中。
硬盘上的FSImage有什么内容(其中包含哪种内容)?
=>它包含文件系统的完整映像。
为了完整答案,我必须补充:
当我们为此数据集运行mapreduce作业时,驱动程序将会 将存储在datanode上的数据块分成多个“输入” 拆分“(大小在xml文件中配置)。在这种情况下,请说出每个 输入拆分为128 MB,然后我们有8个输入拆分,每个拆分为 分配了一个Mapper流程。
=>那是对的。