実行しようとしている独自のMapReduceコードがありますが、Accepted状態のままです。以前に実行して成功した別のサンプルMRジョブを実行してみました。しかし、現在、両方のジョブはAccepted状態のままです。 here および here のようにmapred-site.xmlとyarn-site.xmlのさまざまなプロパティを変更しようとしましたが、どちらも役に立ちませんでした。誰かが間違っている可能性があることを指摘してください。 hadoop-2.2.0を使用しています
私はさまざまなプロパティに多くの値を試しましたが、ここに値のセットがあります-mapred-site.xml
<property>
<name>mapreduce.job.tracker</name>
<value>localhost:54311</value>
</property>
<property>
<name>mapreduce.job.tracker.reserved.physicalmemory.mb</name>
<value></value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>256</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>256</value>
</property>
<property>
<name>yarn.app.mapreduce.am.resource.mb</name>
<value>400</value>
<source>mapred-site.xml</source>
</property>
Yarn-site.xmlで
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>400</value>
<source>yarn-site.xml</source>
</property>
<property>
<name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
<value>.3</value>
</property>
同じ効果があり、ワーカーノードごとに使用可能なメモリをシステムに追加し、アプリケーションに必要なメモリを削減することができました。
Yarn-site.xmlの設定(非常に小さな実験ボックス):
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2200</value>
<description>Amount of physical memory, in MB, that can be allocated for containers.</description>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>500</value>
</property>
YARNでaccepted
状態のままになっているジョブは、通常、空きリソースが十分でないために発生します。 http://resourcemanager:port/cluster/scheduler
で確認できます:
Memory Used + Memory Reserved >= Memory Total
の場合、メモリが十分ではありませんVCores Used + VCores Reserved >= VCores Total
の場合、VCoresでは不十分ですmaxAMShare
などのパラメーターによって制限される場合もあります。
同じ問題がありましたが、私にとってはフルハードドライブ(90%以上)でした。クリーニングスペースは私を救った。
ブログをフォローしてください- http://hortonworks.com/blog/how-to-plan-and-configure-yarn-in-hdp-2-0/
これは、YARNコンテナーのパラメーターの設定方法を詳細に説明します
Hadoop 3.0.1。を使用していると、ResourceManager Web UIでACCEPTED状態でサブミットされたマップ削減ジョブが表示されるという同じ問題に直面していました。また、同じResourceManager Web UIでは、Cluster metrics
-> Memory used
は0、Total Memory
は0でした。 Cluster Node Metrics
-> Active Nodes
は0でしたが、NamedNode Web UIはデータノードを完全にリストしていました。クラスターでyarn node -list
を実行してもNodeManagerが表示されませんでした。 NodeManagerを開始した後、新しく送信されたマップ削減ジョブはさらに進むことができました。ACCEPTED状態でスタックしなくなり、「RUNNING」状態になりました。
私は同じ問題に直面しました。そして、上記の回答に記載されているすべての構成を変更しましたが、それでも役に立たなかった。この後、クラスターの正常性を再確認しました。そこで、唯一無二のノードが不健全な状態にあることに気付きました。この問題は、/ tmp/hadoop-hadoopUser/nm-local-dirディレクトリーのディスク容量が不足していたためです。同じことは、ポート8032のリソースマネージャーWeb UIでノードのヘルスステータスをチェックすることで確認できます。これを解決するために、yarn-site.xmlのプロパティの下に追加しました。
<property>
<name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
<value>98.5</value>
</property>
Hadoopデーモンを再起動した後、ノードの状態が正常に変わり、ジョブの実行が開始されました
プロパティの追加yarn.resourcemanager.hostnameyarn-のマスターノードのホスト名にsite.xmlこの構成を反映するためにこのファイルをクラスター内のすべてのノードにコピーして、この問題を解決しました。