まず、この質問が以前に尋ねられたことは分かっていますが、回答は自分の状況に当てはまらないようです。Apache Sparkスタンドアロンクラスタ初期ジョブがリソースを受け付けていない
私はDigital Oceanを使用しています.3つのサーバー(2つのコアを搭載したUbuntu 14.04、2GBのRAM、40GBのディスク)、1つのマスターと2つのスレーブがあります。ソースからコンパイルされたSpark 1.6.1とともにインストールされました。彼らはすべてメモリが足りなくなってビルドに失敗したので、それぞれを16Gbのスワップで構成してから、ビルドが正常に行われました。
は私が明示的に使用して、パブリックIPアドレスにホストを設定することで、マスターにスタンドアロン・サーバーを開始しました:実際のIPアドレスです./sbin/start-master.sh -h 104.236.221.106
- クラスタの状態を確認するためにhttp://104.236.221.106:8080/を訪問することができます。スパークは、それが唯一の1Gbをつかんれたシステムメモリの唯一の2Gbを検出したので、私は明示的に必要であれば、システムがスワップを活用するだろうより多くのように使用することを告げたので
./sbin/start-slave.sh spark://104.236.221.106:7077 -m 10g
:とにかく、奴隷を使用して開始しました。それは偉大な作業をしなければならないよう
webportalを見て、私はそれがクラスタ内の合計4つのコアの2人の労働者、などがあるレポートを参照...
すべては私が起動しそうですシェルを使用して、マスターサーバーから対話式作業を行うことができます。
./bin/spark-shell --master spark://104.236.221.106:7077 --executor-memory 4g
目的はたくさんのメモリを持つことです。それは起動し、私にコマンドラインを与えるので、大きな数値ではなく値をval NUM_SAMPLES=10000
に設定します。しかし、それからApacheからのサンプルコードを使ってPiを見積もります。
val count = sc.parallelize(1 to NUM_SAMPLES).map{i =>
val x = Math.random()
val y = Math.random()
if (x*x + y*y < 1) 1 else 0
}.reduce(_ + _)
と、私はそれから抜け出すことは次のとおりです。
[Stage 0:> (0 + 0)/2]16/03/19 07:23:57 WARN TaskSchedulerImpl:
Initial job has not accepted any resources;
check your cluster UI to ensure that workers are registered
and have sufficient resources
16/03/19 07:24:12 WARN TaskSchedulerImpl:
Initial job has not accepted any resources;
check your cluster UI to ensure that workers are registered
and have sufficient resources
16/03/19 07:24:27 WARN TaskSchedulerImpl:
Initial job has not accepted any resources;
check your cluster UI to ensure that workers are registered
and have sufficient resources
[Stage 0:> (0 + 0)/2]16/03/19 07:24:42 WARN TaskSchedulerImpl:
Initial job has not accepted any resources;
check your cluster UI to ensure that workers are registered
and have sufficient resources
だから、これはいくつかの理由のために意味がありません。まず、Webポータルで見ることができるので、クラスタが存在することがわかります。私は要求されたメモリの割り当てで作成された仕事を見る。私はtop
の中で、javaが仕事をしていると思うものをやっている奴隷について見ています。最後に、私が求めているのは単純な愚かなもので、ほとんど何も消費してはいけません。
私はこのコードを実行しようとしている方法で設定が間違っていましたか?私は主人と労働者のログの例を含めてい
:
WORKER:http://pastebin.com/xwnBMaKQ
MASTER:http://pastebin.com/0Ja0KD9k労働者はまだ立ち上げにもかかわらず、プライベートIPアドレスをヒットしようとしているように見えます
明示的なIPアドレスを持つマスターと(一部の助けを借りて)公開IPアドレスでワーカーを起動することもできます。
問題を解決しましたか? – mauriciojost
はい、私のプロセスはそのままあなたのソリューションでは動作しないため、回答を編集してクラスタを起動するために必要な変更を加えようとしましたが、編集は明らかに拒否されました。 – Mark