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