Предполагаемый размер кучи кластера Giraph 4096 МБ превышает текущий доступный объем кучи кластера, равный 0 МБ. Прерывание задания

Я запускаю Giraph с помощью Hadoop 2.5.2 в кластере из 5 узлов. Но когда я пытаюсь запустить пример SimpleShortestPathsComputation, я получаю эту ошибку:

Исключение в потоке "main" java.lang.IllegalStateException: предполагаемая куча кластера Giraph 2000 МБ больше, чем текущая доступная куча кластера 0 МБ. Прерывание работы.

До сих пор мне не удалось определить, почему Giraph считает, что в кластере есть куча размером 0 МБ. Я установил YARN_HEAPSIZE и HADOOP_HEAPSIZE в yarn-env.sh и hadoop-env.sh соответственно, а в yarn-site.xml у меня есть:

 <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>8960</value>
  </property>
  <property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>2048</value>
  </property>

Любая идея, что происходит с этим?


person mindcrime    schedule 11.03.2015    source источник


Ответы (1)


Это оказалось проблемой экологии. По сути, происходит следующее: Giraph запрашивает у YARN ResourceManager список работающих узлов и суммирует кучу, доступную для перечисленных узлов, а затем сравнивает ее со своей собственной оценкой того, сколько кучи ему нужно. В моем случае сбой в моей настройке приводил к тому, что YARN не мог перечислить какие-либо узлы, и поэтому Giraph подумал, что для кластера доступно 0 МБ кучи.

Основная проблема была двоякой:

  1. Я работаю на EC2 и забыл добавить порт 8032 в группу безопасности, чтобы узлы могли подключаться к диспетчеру ресурсов.
  2. Я забыл установить свойство имени хоста для менеджера ресурсов пряжи, и поэтому узлы изначально пытались подключиться к 0.0.0.0.

Как только эти две проблемы были решены, эта проблема исчезла.

person mindcrime    schedule 11.03.2015