场景:I具有节点 A 和节点 B,每个节点都有 100 MB 的磁盘空间。我想在其中存储 128MB 文件(让复制因子为 1,块大小为 64MB)。在这种情况下,文件将如何存储?另外,处理此文件需要多少个映射器和化简器?假设我想用一个映射器处理这个文件,那么哪个节点将运行这个映射器?
我假设你说的是2个数据节点A和B,因为集群作为一个整体只有A和B,它们中的任何一个都需要是不能存储任何数据的名称节点。
文件将被分成两个64MB的块,A&B将分别托管一个块。不能说谁会拥有第一个,谁将拥有第二个。
在默认设置中,2 个映射器将处理各自节点中的拆分,一个化简器将处理两个映射器的输出。
如果要强制仅使用一个映射器,则心脏跳动到作业跟踪器的第一个任务跟踪器的数据节点将运行映射器。
希望这有帮助。