Ошибка при запуске программы Mapreduce - PullRequest
1 голос
/ 18 августа 2011

я получаю следующую ошибку при запуске программы уменьшения карты.

The program is to sort the o/p using TotalOrderpartition.

I have 2 node cluster. 
when i run teh program with -D mapred.reduce.tasks=2 its working fine
 But its failing with below error while running with -D mapred.reduce.tasks=3 option.


java.lang.RuntimeException: Error in configuring object
        at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:93)
        at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:64)
        at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
        at org.apache.hadoop.mapred.MapTask$OldOutputCollector.<init>(MapTask.java:448)
        at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:358)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307)
        at org.apache.hadoop.mapred.Child.main(Child.java:170)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:88)
        ... 6 more
Caused by: java.lang.IllegalArgumentException: Can't read partitions file
        at org.apache.hadoop.mapred.lib.TotalOrderPartitioner.configure(TotalOrderPartitioner.java:91)
        ... 11 more
Caused by: java.io.IOException: Split points are out of order
        at org.apache.hadoop.mapred.lib.TotalOrderPartitioner.configure(TotalOrderPartitioner.java:78)
        ... 11 more

Plese let me know whats wrong here?

Thanks
R

Ответы [ 3 ]

2 голосов
/ 08 июля 2012

Максимальное количество редукторов, которое можно упомянуть, равно количеству узлов в вашем кластере. Так как количество узлов здесь 2, вы не можете установить число редукторов больше 2.

1 голос
/ 19 августа 2011

Похоже, вам не хватает ключей в вашем файле раздела.В docs говорится, что TotalOrderpartitioner требует, чтобы в вашем разделе SequenceFile было по крайней мере N - 1 ключей, где N - число редукторов.

0 голосов
/ 26 июля 2013

Я также столкнулся с этой проблемой, с помощью проверки soucecode обнаружил, что из-за выборки увеличение числа уменьшения приводит к тому, что в точке разделения есть один и тот же элемент, поэтому выведите эту ошибку.Это имеет отношение к данным.введите hadoop fs - text _partition посмотрите на файлы, сгенерированные разделом, если сбой ваших задач должен иметь тот же элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...