私には、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.list
をproducer.properties
に変更しようとしました。
私はkafka 0.7.2バージョンを使用しています。
接続が正常に機能していないと判断したらどうなりますか?サービスサーバーのポートとは何ですか?あなたはそれが開いていることを確認するためにポートにtelnetしようとしましたか?その特定のポートからの接続を許可するようにEC2セキュリティグループを設定しましたか? – mootmoot
接続が拒否されたというエラーが表示されます。デフォルトのkafkaポート(9092)が開いていて( '' netstat -tlnp''で使用されています)、ポートリスニングを見ることができ、セキュリティグループ内でそのポートをオープンしました。 – Cayetano
java.net.ConnectException:接続が拒否されました。いくつかのことを意味します。 secgrpが設定されていません。サービスは接続を拒否します。正確なメッセージを得るためにnetcatを使用し、APIの前に接続を修正することが重要です。 – mootmoot