Apache Spark Clusterをセットアップしたいのですが、ワーカーマシンからポート7077でマスターマシンに通信できません(Spark Master isランニング)。
だから私はワーカーマシンからマスターにtelnet
しようとしました、そしてこれは私が見ているものです:
root@worker:~# telnet spark 7077
Trying 10.xx.xx.xx...
Connected to spark.
Escape character is '^]'.
Connection closed by foreign Host.
コマンドは、「外部ホストによって接続が閉じられました」ですぐに終了しました。タイムアウトなどはしません。
ホストがポートでリッスンしていること、およびtelnet
の出力に「Connected to spark」が表示されていることを確認しました。 —これは、接続が成功したことも意味します。
そのような振る舞いの理由は何でしょうか?この接続の切断が、ワーカーマシンからマスターに通信できない理由になっているのではないかと思います。
ポート7077で接続をリッスンしているプロセスは、接続を受け入れ、すぐに接続を閉じます。問題は、システム自体ではなく、そのアプリケーションのコードまたは構成のどこかにあります。
一部の仮想サーバー、特にNATを実行している仮想サーバーでの奇妙な動作について知りました。仮想サーバーによって外部に公開されているポートに接続します。次に、サーバーは接続をターゲットに転送しようとします。ターゲットは拒否します。 NATはメッセージを表示せずに接続を閉じます。何が起こっているのかを理解するために髪を引っ張ってください。これは前の答えと非常によく似ています。ソースは仮想の相互作用です。ホスト自体。
最も可能性の高い原因は、誰かがポートを使用していて、実行中のアプリケーションが一度に1つの接続しか受け入れず、追加の接続を拒否することです。
アプリケーションには、localhostからのみ接続するというポリシー制限があります。 elasticsearchと同じ「問題」。 app-configを確認するか、トンネルを作成できます。行う
ssh -N -L 7077:127.0.0.1:7077 userxy@spark
あなたのマシンで:
telnet 127.0.0.1 7077
ホストからの(Python codeを介した)電子メール送信が失敗した理由をデバッグしようとしたときに、この非常にエラーに遭遇しました。メールサーバーのメールキューがいっぱいであることが原因であることが判明しましたこの特定のホスト。