给定Hadoop 0.21.0,框架对相对于每个单独的 map 和 reduce 操作的打开文件描述符的数量做出了哪些假设?具体来说,哪些子操作会导致 Hadoop 在作业执行期间打开新的文件描述符或溢出到磁盘?
(这是故意忽略使用MultipleOutputs
,因为它非常明显地与系统提供的保证相吻合。)
我的理由很简单:我想确保我为 Hadoop 编写的每个作业都保证每个映射器或缩减器所需的文件描述符数量有限。Hadoop 很乐意将这一点从程序员那里抽象出来,这通常是一件好事,如果不是因为在服务器管理期间另一只鞋掉了下来。
我最初是从集群管理方面问这个关于服务器故障的问题。由于我还负责编程,所以这个问题在这里同样重要。