0

5 ノード クラスターで Hadoop 2.5.2 を使用して Giraph を実行しています。しかし、SimpleShortestPathsComputation の例を実行しようとすると、次のエラーが発生します。

スレッド「メイン」の例外 java.lang.IllegalStateException: Giraph の推定クラスター ヒープ 2000MB 要求は、現在使用可能なクラスター ヒープの 0MB を超えています。ジョブを中止しています。

これまでのところ、クラスターのヒープが 0MB であると Giraph が判断する理由を特定できませんでした。yarn-env.sh と hadoop-env.sh にそれぞれ YARN_HEAPSIZE と HADOOP_HEAPSIZE を設定し、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>

これで何が起こっているのですか?

4

1 に答える 1

0

これは環境問題であることが判明しました。基本的には、次のようになります。Giraph は YARN ResourceManager に実行中のノードのリストを要求し、リストされたノード全体で使用可能なヒープを合計してから、必要なヒープの量の独自の見積もりと比較します。私の場合、セットアップの不具合が原因で YARN がノードを一覧表示できなかったため、Giraph は 0MB のヒープがクラスターで利用可能であると考えました。

根本的な問題は次の 2 つでした。

  1. EC2 で実行していますが、セキュリティ グループにポート 8032 を追加するのを忘れていたため、ノードはリソース マネージャーに接続できました。
  2. yarn resourcemanager のホスト名プロパティを設定するのを忘れたため、ノードは最初に 0.0.0.0 に接続しようとしていました。

これら 2 つの問題が解決されると、この問題はなくなりました。

于 2015-03-11T03:18:42.970 に答える