のプライベートIPをマスタに接続しようとした:10.xx2のMesosスパークスレーブは、私は以下のようにシステムにインストールしました代わりに、パブリックIP
--mesosマスターのプライベートIP、公開を35.xx6
--mesosスレーブプライベートIP、192.xx10、パブリック111.xx2
これで、マスタはスレーブにタスクを正常に割り当てましたが、タスクは失敗しました。以下のようにエラーメッセージは次のとおりです。 に成功によって引き起こさ
接続する前にタイムアウトを確認する::org.apache.sparkのスレッド "メイン" 17/10/11午後10時38分01秒ERRORのRpcOutboxMessageで
例外.rpc.RpcTimeoutException: は120秒以内に応答を受信できません。このタイムアウトは spark.rpc.askTimeoutによって制御される
私は環境を見て、代わりにパブリックIPアドレス35、それのマスター10.xx2のプライベートIPアドレスにspark.driver.hostポイント.xx6。私はWiresharkのキャプチャを見て、確かに、プライベートプライベートIPアドレスにTCPパッケージが失敗しました。
ここで、spark.driver.bindAddressをマスターからローカルIPアドレスspark.driver.hostをマスターからパブリックIPアドレスに設定すると、次のメッセージが表示されます。
ERROR TaskSchedulerImpl: myhostname.singnet.com.sgで失われたエグゼキュータ1:、私の理解からspark.driver.bindAddressを
:原因 にexecutorを作成できません要求されたアドレスを割り当てることができません。マスタとスレーブの両方に設定してください。したがって、スレーブは上記のエラーを受け取ります。 パブリックIP経由でこのクラスタリングを正しく動作させるにはどうすればよいでしょうか?
お返事ありがとうございます。私のネットワークの知識がある限り、私はすべてのパブリックセットアップを行うことができるシナリオはありません。パブリックIPアドレスに公開されるすべてのマシンには、内部ネットワークのプライベートアドレスが割り当てられます。パブリックIPはマシン自体ではなく、ルータ上にあります(私が間違っている場合は私を修正してください)。 メゾスは--advertise_IPパラメータを含めることでこの問題を解決し、マシンはこのアドレス(公開されている)に接続してお互いを見つけることができます。 Sparkでどのように実装されているのかよく分かりません。 – TheCyberliem
@ TheCyberliem確かに。私の回答に加えて、 – Rico
を確認してください。しかし、私の問題の記述を注意深く読んだ場合、プライベートIPなしですべてのパブリック設定を行うことができないことがわかります(前述したように、パブリックIPはマシン上ではなくルータ上にあるので、ルータはパブリックIPにマップします)。 – TheCyberliem