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ジョブを起動しました。これはうまくいった。
どうしたらよいですか?