2017-08-23 2 views
0

kafkaで動作する簡単なSparkストリーミングアプリがあります(配布に付属している基本設定のように、自分のマシンにデプロイします)。私がsparkstreamingアプリケーションをスタンドアロンサーバ上で実行しているとき、私のマシン上のマスターとワーカーと、それでカフカと同じマシンがすべて正常です。スパークストリーミングKafkaとワーカーが別のマシンにいるときに動作しない

しかし、別のノード/ワーカーを追加するとすぐに、または単に私の2番目のマシン(カフカではない)でワーカーを開始するだけであれば、何も起こりません。ストリーミングタブが消えます。しかし、私はドライバーの標準エラーや、Uiの作業者にエラーは見られません。

エラーはありません。どこから見ているのか分かりません。アプリケーションは動作しません。

誰かがこの種のことを経験したことがあるなら、いくつかの提案をお聞かせください。

私は、この動作はカフカ広告を出しているホストの設定ミスでしまう可能性問題

+0

I同様の問題に遭遇したことを覚えているようだが、問題は第2のマシンがカフカノードのアドレスを正しく解決しなかったことである。カフカは第2のマシンから届かないアドレスで広告しました)。それを診断するために、Sparkで使用しているアドレスとKafkaブローカーで設定されているアドバタイズされたアドレスを確認してください。 – nivox

+0

コマンドラインのように、私のブローカがデフォルト設定していることを知る方法があるかどうか知っていますか? Kafkaのドキュメント(http://kafka.apache.org/090/documentation.html)の – MaatDeamon

+0

は、 'java.net.InetAddress.getCanonicalHostName()'が返すものを使用しています。ブローカの設定で 'advertised.host.name'というプロパティを指定することをお勧めします。 – nivox

答えて

1

私のローカルネットワークの適切なマシンのIPアドレスを使用します。

デフォルトでは、カフカブローカーは、java.net.InetAddress.getCanonicalHostName()を使用して自分自身を宣伝します。返されたアドレスは、Sparkワーカーを実行しているノードから到達できないことがあります。

問題を解決するには、各カフカブローカのアドバタイズされたアドレスをすべてのノードから到達可能に設定する必要があります。

関連カフカブローカ構成オプションは次のとおり

  • カフカ0.9:advertised.host.name
  • カフカ0.10:advertised.listenersこれらの設定パラメータの詳細については

advertised.host.name上のフォールバックを伴う)を参照しますバージョン0.9または0.10のドキュメントKabka

関連する問題