Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hadoop中map reduce的Reducer的异常行为?_Java_Design Patterns_Hadoop_Mapreduce - Fatal编程技术网

Java Hadoop中map reduce的Reducer的异常行为?

Java Hadoop中map reduce的Reducer的异常行为?,java,design-patterns,hadoop,mapreduce,Java,Design Patterns,Hadoop,Mapreduce,我目前正在Hadoop中以伪分布式模式工作。我的reduce函数的工作方式是:对于每个键,它将为其值创建一个arraylist,然后创建一个singleton类的实例[该类存在于库中,因此我无法更改它]。然后调用该实例的一个方法 现在我的问题是:假设map函数发出2个键,那么reducer只处理一个键对应另一个键,它会说“Java.lang.exception”类[singleton one]无法实例化 我关心的是为什么会发生这种情况?在伪分布式模式下,每个减速器运行不同的JVM 是否可能只有一

我目前正在Hadoop中以伪分布式模式工作。我的reduce函数的工作方式是:对于每个键,它将为其值创建一个arraylist,然后创建一个singleton类的实例[该类存在于库中,因此我无法更改它]。然后调用该实例的一个方法

现在我的问题是:假设map函数发出2个键,那么reducer只处理一个键对应另一个键,它会说“Java.lang.exception”类[singleton one]无法实例化


我关心的是为什么会发生这种情况?在伪分布式模式下,每个减速器运行不同的JVM

是否可能只有一个减速器在工作,并且它可以同时减少两个键?如果是的话,你能建议解决这个问题的方法吗?你能用你正在使用的reducer代码更新你的问题吗?肯定会有人帮你。:)如果正在为MRv1运行MRv2或mapred.job.reuse.jvm.num.tasks,请检查属性mapreduce.job.jvm.numtasks的值是否正确。上述属性允许对每个JVM的多个MapReduce任务使用相同的JVM。