2016-10-27 5 views
0

私はヤーンの初心者です。私はコンピュータにシングルノードHadoop糸をインストールしました。すべてデフォルトです。 私はResourceManagerのWebページを開いて、私のクラスタは8GBのRAMと8のvcoresだと言いました。 しかし実際には、私のコンピュータは3GBのRAMと2つのコアを持っています(私は/ proc/meminfoと/ proc/cpuinfoに情報があります)。 ヤーンがRAMとvcoreをあまりにも多く表示しているのはなぜですか? 誰も私に説明することはできますか? ありがとうございます!ヤーンのvcoreの数

答えて

1

糸は、これら2つのパラメータを経由して、メモリや糸-site.xmlのconfファイルから、それまで利用可能なコアの情報を取得します。

<!-- Default 8GB --> 
<property> 
    <description>Max available memory on each data node.</description> 
    <name>yarn.nodemanager.resource.memory-mb</name> 
    <value>8192</value> 
</property> 

<!-- Default 8. --> 
<property> 
    <description>Max available cores data node.</description> 
    <name>yarn.nodemanager.resource.cpu-vcores</name> 
    <value>8</value> 
</property> 

だから、8ギガバイトを拾っている理由と8つのコアがあります他に何も指定しなければ、それらはデフォルトです。これらの設定は、あなたのような小さなマシンではおそらく高すぎます。小さなマシンで実行する場合には、おそらく微調整が必​​要な他のメモリ関連設定があります。糸-site.xmlの中

:mapred-site.xmlの中

<!-- Default 1024 --> 
<property> 
    <description>Minimum allocation unit.</description> 
    <name>yarn.scheduler.minimum-allocation-mb</name> 
    <value>256</value> 
</property> 

<!-- Biggest memory allocation a container can request. Set to available memory --> 
<property> 
    <description>Max allocation unit.</description> 
    <name>yarn.scheduler.maximum-allocation-mb</name> 
    <value>yarnavailablememory</value> 
</property> 

<property> 
    <description>Minimum increment setting - set to same as min-allocation</description> 
    <name>yarn.scheduler.increment-allocation-mb</name> 
    <value>256</value> 
</property> 

<!-- small cluster memory settings --> 
<!-- Default 1024. Recommend setting to 4096. Should not be higher than YARN max allocation --> 
<property> 
    <name>mapreduce.map.memory.mb</name> 
    <value>256</value> 
</property> 

<!-- Default 1024. Recommend setting to 4096. Should not be higher than YARN max allocation --> 
<property> 
    <name>mapreduce.reduce.memory.mb</name> 
    <value>256</value> 
</property> 

<!-- Default 1536. Recommend 1024 --> 
<property> 
    <description>Application master allocation</description> 
    <name>yarn.app.mapreduce.am.resource.mb</name> 
    <value>256</value> 
</property> 

<!-- Recommend heapsizes to be 75% of mapreduce.map/reduce.memory.mb --> 
<property> 
    <name>mapreduce.map.java.opts</name> 
    <value>-Xmx204m</value> 
</property> 

<property> 
    <name>mapreduce.reduce.java.opts</name> 
    <value>-Xmx204m</value> 
</property> 

<property> 
    <description>Application Master JVM opts</description> 
    <name>yarn.app.mapreduce.am.command-opts</name> 
    <value>-Xmx204m</value> 
</property> 
+0

はどうもありがとうございました。私はこれについて非常に感謝しています。しかし、同時に8つのジョブ(それぞれ<1GB、1つのvcore>)を実行することができますか? – nothingx0x

+0

小さなローカルマシンで実行している場合は、設定を多少調整する必要があります。そうしないと、マシンが圧倒されます。私はいくつかの情報を追加しようと私のコメントを編集します。 –

+0

ありがとうございます。私はこれについて非常に感謝しています。 – nothingx0x

関連する問題