Hi, Yan: Thanks for your reply. You are right. I just subscribed the mail list for kafka us...@kafka.apache.org
Sincerely, Selina On Sun, Aug 16, 2015 at 4:04 PM, Yan Fang <yanfang...@gmail.com> wrote: > Hi Selina, > > I guess you can post this question in the Kafka mailing list if this is > "pure" kafka, there are more experts in that community, though there are > some Kafka experts here as well. :) > > Thanks, > > Fang, Yan > yanfang...@gmail.com > > On Thu, Aug 13, 2015 at 9:56 PM, Job-Selina Wu <swucaree...@gmail.com> > wrote: > >> Dear All: >> >> I got kafka.common.FailedToSendMessageException: Failed to send >> messages after 3 tries as below. When I have a remote java Kafka producer >> try to produce message to Kafka broker Server. Both Producer and Broker are >> at AWS cloud. BTW, I tried my code first at local machine and Virtual >> machine first, It did not work either.(advertised.host.name was set to >> the ip address of the kafka server*)* >> >> *-------------**This is my KafkaProducer at remote Producer for producer >> configuration**-------------* >> public class KafkaProducer { >> >> Properties props = new Properties(); >> >> private final Producer<String, String> producer; >> private final String kafkaServerIP = "52.19.2.74:9092"; >> >> public KafkaProducer() { >> >> >> props.put("metadata.broker.list", kafkaServerIP); >> //props.put("bootstrap.servers", "localhost:9092 "); >> props.put("serializer.class", "kafka.serializer.StringEncoder"); >> props.put("advertised.host.name", "localhost"); >> props.put("request.required.acks", "0"); >> >> ProducerConfig config = new ProducerConfig(props); >> >> producer = new Producer<String, String>(config); >> } >> >> public Producer<String, String> getProducer() { >> >> return this.producer; >> } >> } >> >> >> --------*The configs/server.properties at Kafka Server at AWS*----- >> >> zookeeper.connect=localhost:2181 >> zookeeper.connection.timeout.ms=6000 >> >> delete.topic.enable=true >> >> broker.id=0 >> port=9092 >> host.name=localhost >> *advertised.host.name <http://advertised.host.name>*= >> ec2-51-18-21-235.us-west-1.compute.amazonaws.com >> >> # below is same as default >> #advertised.port=<port accessible by clients> >> #advertised.port=<port accessible by clients> >> num.network.threads=3 >> num.io.threads=8 >> socket.send.buffer.bytes=102400 >> socket.receive.buffer.bytes=102400 >> socket.request.max.bytes=104857600 >> log.dirs=/tmp/kafka-logs >> num.partitions=1 >> num.recovery.threads.per.data.dir=1 >> #log.flush.interval.messages=10000 >> #log.flush.interval.ms=1000 >> log.retention.hours=168 >> #log.retention.bytes=1073741824 >> log.segment.bytes=1073741824 >> log.retention.check.interval.ms=300000 >> log.cleaner.enable=false >> >> >> - - --- - - - - -- >> >> kafka.common.FailedToSendMessageException: Failed to send messages after >> 3 tries. >> kafka.common.FailedToSendMessageException: Failed to send messages after >> 3 tries. >> at >> kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:90) >> at kafka.producer.Producer.send(Producer.scala:77) >> at kafka.javaapi.producer.Producer.send(Producer.scala:33) >> at com.cinarra.kafka.Main.main(Main.java:21) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:606) >> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293) >> at java.lang.Thread.run(Thread.java:745) >> >> >> reference: >> >> http://stackoverflow.com/questions/30217255/cant-connect-to-a-remote-kafka-producer-from-windows-through-java-code >> >> Your help is highly appreciated, >> Selina >> >> >