Apache Sparkクラスタを設定したいが、ワーカーコンピュータからポート7077(Spark Masterが実行されている場所)のマスターコンピュータに通信できません。
それで、ワーカーコンピュータからホストコンピュータに移動してみました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」と表示されていることを確認しました。 - これは接続が成功したことを意味します。
この行動の理由は何ですか?接続が切断されるのが業務用コンピュータからメインコンピュータに通信できない理由ではないかと思います。
答え1
ポート 7077 で接続をリッスンするプロセスは、接続を受け入れてすぐに接続を閉じます。問題はシステム自体ではなく、アプリケーションのコードや構成にあります。
答え2
私はいくつかの仮想サーバー、特にNATを実行しているサーバーの奇妙な動作について学びました。仮想サーバーの公開ポートに接続すると、サーバーは接続先を宛先に転送しようとします。したがって、NAT はメッセージを送信せずに接続を終了します。何が起こっているのかを調べるために髪を抜きます。これは以前の答えと非常に似ています。ソースは仮想ホスト自体との対話です。
最も可能性の高い原因は、誰かがポートを使用しており、一度に1つの接続のみを許可し、他の接続は拒否するアプリケーションを実行していることです。
答え3
アプリケーションには、localhostからのみ接続できるというポリシー制限があります。 Elasticsearchと同じ「問題」です。アプリケーション構成を確認してトンネルを作成することもできます。する
ssh -N -L 7077:127.0.0.1:7077 userxy@spark
次に、コンピュータで次の操作を行います。
telnet 127.0.0.1 7077
答え4
Pythonコードを介してホストからEメールを送信できなかった理由をデバッグしようとしたときにこのエラーが発生しました。これは、特定のホストのメールサーバー上のメールキューがいっぱいであるためです。