2016-04-22 30 views
-1

私には、zookeeperとkafkaを実行しているAWS EC2 ubuntuインスタンスがあります。私は私のコンピュータからkafkaに接続したいので、私はkafka apiを使って接続を行うJavaアプリケーションを持っています。私は(Eclipseのからの)アプリケーションを実行すると、私は次のエラーを取得:AWS EC2でKafkaに接続しようとしているときに接続が拒否されました

log4j:WARN No appenders could be found for logger (kafka.consumer.SimpleConsumer). 
log4j:WARN Please initialize the log4j system properly. 
Exception in thread "Timer-0" java.net.ConnectException: Connection refused 
at sun.nio.ch.Net.connect0(Native Method) 
at sun.nio.ch.Net.connect(Net.java:484) 
at sun.nio.ch.Net.connect(Net.java:476) 
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:675) 
at kafka.consumer.SimpleConsumer.connect(SimpleConsumer.scala:49) 
at kafka.consumer.SimpleConsumer.getOrMakeConnection(SimpleConsumer.scala:186) 
at kafka.consumer.SimpleConsumer.fetch(SimpleConsumer.scala:79) 
at kafka.javaapi.consumer.SimpleConsumer.fetch(SimpleConsumer.scala:43) 

をこの行がエラーを投げているように思え:

FetchRequest req = new FetchRequest("test", 0, offset, 1000); 
ByteBufferMessageSet messageSet = simpleConsumer.fetch(req); 

またコンソールでは、log4jのについて何かを言います。インスタンスにはlog4j.propertiesというファイルがあり、他のkafka構成ファイルもあります。私はそれがこのエラーを引き起こしているのかどうか、それがコンフィギュレーションの何かであるのかどうかわかりません。私はhostnameを公衆IPアドレスserver.propertiesに変更し、broker.listproducer.propertiesに変更しようとしました。

私はkafka 0.7.2バージョンを使用しています。

+0

接続が正常に機能していないと判断したらどうなりますか?サービスサーバーのポートとは何ですか?あなたはそれが開いていることを確認するためにポートにtelnetしようとしましたか?その特定のポートからの接続を許可するようにEC2セキュリティグループを設定しましたか? – mootmoot

+0

接続が拒否されたというエラーが表示されます。デフォルトのkafkaポート(9092)が開いていて( '' netstat -tlnp''で使用されています)、ポートリスニングを見ることができ、セキュリティグループ内でそのポートをオープンしました。 – Cayetano

+0

java.net.ConnectException:接続が拒否されました。いくつかのことを意味します。 secgrpが設定されていません。サービスは接続を拒否します。正確なメッセージを得るためにnetcatを使用し、APIの前に接続を修正することが重要です。 – mootmoot

答えて

0

解決済みです。私のコードにインスタンスpublic IPの代わりにlocalhostに接続しようとする行がありました。

+0

私はec2のkafkaに接続する同様の問題を抱えています。どのように接続するために証明書を渡していますか?クライアントが接続を確立しようとして座っているのに、フィードバッハなしのタイムアウトまで再試行するため、どこに問題があるのか​​分かりません – nbpeth

関連する問題