2017-07-13 10 views
0

2台のマシンに小さなSpark環境をセットアップしました。 1つはマスターとワーカーを実行し、もう1つはワーカーのみを実行します。spark-jobserver:ワーカーがドライバに接続しません

私はそこに計算を実行してノードに正しく配信することができ、すべて正常に動作します。

しかし、spark-jobserverを使用する際に問題が発生しています。

まず、Dockerコンテナを起動してください(環境変数SPARK_MASTERが正しいマスタURLを指している)。ジョブが開始されたとき、それが172.18.x.y:nnnnに戻って接続できないと訴えた作業員は、これは、これがジョブサーバーが稼働していたDockerコンテナの内部IPアドレスであることから明らかです。

したがって、ジョブサーバーコンテナを--network hostで再度実行して、ホストネットワークに接続しました。しかし、ジョブを開始するとConnectionが再び拒否されましたが、今回は172.30.10.10:nnnnに接続できませんでした。 172.30.10.10は、jobserverを実行したいホストのIPアドレスです。ワーカーノードとマスターノードの両方から到達可能です(SparkインスタンスもDockerコンテナで実行されますが、ホストネットワークにも接続されています)。

深く掘り下げていくと、JVMとSparkが入っているDockerコンテナを起動しようとしましたが、--network hostで実行し、内部からSparkジョブを起動しました。これはうまくいった。

どうしたらよいですか?

答えて

0

シャッフルサービスを開始していないことが判明しました。カスタムジョブサーバーコンテナを動的割り当てを使用するように構成しました。これは、外部シャッフルサービスを開始する必要があります。

関連する問題