web-dev-qa-db-ja.com

最初のジョブはリソースを受け入れていません。クラスターUIをチェックして、ワーカーが登録され、十分なリソースがあることを確認します

sparkの例をEclipseから実行して、この一般的なエラーを取得しようとしています:Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources.

私が持っているバージョンはspark-1.6.2-bin-hadoop2.6.始めましたspark ./sbin/start-master.shシェルからコマンドを実行し、次のようにsparkConfを設定します。

SparkConf conf = new SparkConf().setAppName("Simple Application");
conf.setMaster("spark://My-Mac-mini.local:7077");

このエラーは、実行している例のいずれかでポップアップするため、他のコードはここに持ち込みません。マシンはMac OSXであり、最も単純な例を実行するのに十分なリソースがあると確信しています。

何が欠けていますか?

10
Eddy

このエラーは、現在のジョブに対してクラスターのリソースが不十分であることを示しています。スレーブ、つまりworkerを開始していないためです。クラスターには、ジョブに割り当てるリソースがありません。スレーブの起動は機能します。

`start-slave.sh <spark://master-ip:7077>`
3
Knight71

私も同じ問題を抱えていました、そしてそれは労働者が運転手とコミュニケーションをとることができなかったからでした。

ドライバーからspark.driver.portspark.driver.Host(およびドライバーの上記のポートを開く)、spark.driver.bindAddressおよびspark-submitを設定する必要があります。

2
Maxime Maillot

あなたの答えへのソリューション

理由

  1. Spark Masterには、ワーカーノードやスレーブノードのようなジョブを実行するために割り当てられたリソースがありません。

修正

  1. 次のようにマスターノードに接続して、スレーブノードを開始する必要があります/ SPARK_HOME/sbin> ./start-slave.sh spark:// localhost: 7077 (マスターがローカルノードにある場合)

結論

  1. ジョブを実行するために十分なリソースが割り当てられるように、spark-submit中にマスターノードとスレーブノードを開始します。

別の方法

  1. 推奨されないspark-env.shファイルに必要な変更を加える必要があります。
2

IDEでアプリケーションを実行しようとし、ワーカーに無料のリソースがある場合、これを行う必要があります。

1)何よりもまず、ワーカーとマスターsparkノードを構成します。

2)ワーカーから計算値を返すドライバー(PC)構成を指定します。

SparkConf conf = new SparkConf()
            .setAppName("Test spark")
            .setMaster("spark://ip of your master node:port of your master node")
            .set("spark.blockManager.port", "10025")
            .set("spark.driver.blockManager.port", "10026")
            .set("spark.driver.port", "10027") //make all communication ports static (not necessary if you disabled firewalls, or if your nodes located in local network, otherwise you must open this ports in firewall settings)
            .set("spark.cores.max", "12") 
            .set("spark.executor.memory", "2g")
            .set("spark.driver.Host", "ip of your driver (PC)"); //(necessary)
0
dancelikefish