2016-04-04 11 views
0

私はAzureにVMotionを持っています。このマシンにはHortonworksがあり、Kafkaを起動します。外界とのカフカ通信のためのポートを開く

  • カフカサービスが実行されており、VM内でプロデューサとコンシューマを作成することができます。

  • 私はサーバーIPを持っており、8080ポートを使用してAmbariにログインすることもできます。

  • JavaアプリケーションからKafkaにメッセージを送信しようとすると、60秒後にTimoutEceptionが発生します。

カフカ通信用の正しいポートをVM外から設定するには、どうすればよいですか?

ここで問題となるのは、KafkaがVM IP(WAN)ではなくローカルIPでリッスンしていることです。あなたが自動的に作成されたネットワークセキュリティグループを持っているVMを作成するために、Azureのリソース・マネージャのワークフローを使用している場合は

任意の助けが本当に理解されるであろう...

答えて

1

あなたはカフカのadvertised.host.nameとadvertised.port環境変数を設定しましたか?そういうわけで、自分自身を外の世界に紹介する方法です。

+0

ありがとう!カスタムカフカブローカーにadvertised.listenersを設定する必要もありました。 –

2

。カフカを利用できるようにするには、NSGでルールを作成する必要があります。参照してください:https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-nsg/

Azureの古典的な展開ワークフローを使用している場合は、カフカを公開するためにエンドポイントを定義する必要があります。参照:このことができますhttps://azure.microsoft.com/fr-fr/documentation/articles/virtual-machines-windows-classic-setup-endpoints/

希望、

ジュリアン

+0

完了しました。主な問題は、Kafkaサービスが内部IPで動作することです。外部VMリクエストをKafkaに転送するにはどうすればよいですか? :) –

+1

マシンの正面に空白のロードバランサがありますか?はいの場合は、LBにNATルールを定義する必要があります。いいえの場合、Azureネットワークレベルで行うことは他にありません。 VMにファイアウォールがありますか? –

+1

+あなたが定義したインバウンドルールの画面を投稿できますか? –

0

Copy and pasting my response to a similar post

カフカ(これを書いているよう0.10.0)の最近のバージョンでは、あなたはまったくadvertised.host.nameを使用したくありません。実際には、[文書]でも、advertised.host.nameは既に非難されています。さらに、Kafkaはこれをプロデューサー/コンシューマーの "広告された"ホスト名としてだけでなく、他のブローカー(マルチブローカー環境)でも使用します。もしあなたがブローカーのために別の(おそらく社内の)DNSを使用して...あなたは実際にブローカー(ew!)/etc/hostsの個人へのエントリを追加するビジネスに入りたいと思わない

したがって、基本的にブローカーは内部名を使用するが、外部のFQDNはプロデューサーとコンシューマーに使用することが望ましい。。これを行うには、代わりにadvertised.listenersを更新します。

関連する問題