Раздел выполнения во время выполнения этой задачи в Hama BSP
Я столкнулся со следующей проблемой при запуске задания BSP hama. Это исключение возникает, когда hama пытается загрузить и разбить входные данные, прежде чем он фактически запустит мой собственный код. Это известная проблема, обсуждаемая на некоторых веб-сайтах, но к сожалению, без известной причины (например, см. Здесь).
Моя работа BSP работает отлично, когда я запускаю только часть набора данных. Однако, когда я запускаю полный набор данных, возникает проблема:(
Могу ли я узнать, как решить или избежать этой проблемы?
13/11/18 01:19:30 INFO bsp.FileInputFormat: Total input paths to process : 32
13/11/18 01:19:30 INFO bsp.FileInputFormat: Total input paths to process : 32
13/11/18 01:19:30 INFO bsp.BSPJobClient: Running job: job_201311180115_0002
13/11/18 01:19:33 INFO bsp.BSPJobClient: Current supersteps number: 0
13/11/18 01:19:33 INFO bsp.BSPJobClient: Job failed.
13/11/18 01:19:33 ERROR bsp.BSPJobClient: Error partitioning the input path.
java.io.IOException: Runtime partition failed for the job.
at org.apache.hama.bsp.BSPJobClient.partition(BSPJobClient.java:465)
at org.apache.hama.bsp.BSPJobClient.submitJobInternal(BSPJobClient.java:333)
at org.apache.hama.bsp.BSPJobClient.submitJob(BSPJobClient.java:293)
at org.apache.hama.bsp.BSPJob.submit(BSPJob.java:228)
at org.apache.hama.bsp.BSPJob.waitForCompletion(BSPJob.java:235)
at edu.wisc.cs.db.opener.hama.ConnectedEntityBspDriver.main(ConnectedEntityBspDriver.java:183)
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.hama.util.RunJar.main(RunJar.java:146)
1 ответ
Застряв в этой проблеме в течение нескольких часов, я обнаружил, что, как только количество входных файлов превышает количество разрешенных задач bsp, возникает эта ошибка. Я думаю, что это, вероятно, ошибка, которую Хама должен исправить в будущем.
Быстрое решение этой проблемы - увеличение количества заданий с максимальным значением bsp, указанных в переменной bsp.tasks.maximum
в hama-site.xml
файл. Например, следующие использует 10
вместо настройки по умолчанию 3
:
<property>
<name>bsp.tasks.maximum</name>
<value>10</value>
<description>The maximum number of BSP tasks that will be run simultaneously
by a groom server.</description>
</property>