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 > >