Hadoop と Spark-1.5.2 を実行している 3 台の macOS マシンのクラスターがあります (Spark-2.0.0 でも同じ問題が存在します)。「yarn」を Spark マスター URL として使用すると、タスクが 3 台のマシンのうち 2 台にしか割り当てられないという奇妙な問題が発生します。
Hadoop ダッシュボード (マスターのポート 8088) に基づいて、3 つのノードすべてがクラスターの一部であることは明らかです。ただし、実行する Spark ジョブはいずれも、2 つのエグゼキューターしか使用しません。
たとえば、JavaWordCount の例を長時間実行した場合の「Executors」タブは次のとおりです。 「batservers」がマスターです。追加のスレーブ「batservers2」があるはずですが、そこにはありません。
これはなぜでしょうか?
YARN のリソース マネージャーとノード マネージャーに追加のメモリを与えるための規定を除いて、私の YARN または Spark (さらに言えば HDFS) の構成はどれも珍しいものではないことに注意してください。