samza-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yan Fang <yanfang...@gmail.com>
Subject Re: remote kafka producer -- kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries
Date Tue, 18 Aug 2015 07:02:35 GMT
Thanks, Selina, for sharing this solution for the reference. :)

Cheers,

Fang, Yan
yanfang724@gmail.com

On Mon, Aug 17, 2015 at 7:17 PM, Job-Selina Wu <swucareer99@gmail.com>
wrote:

> Hi, All:
>
>       Finally I fixed this bug.
>
> 1. set advertised.host.name at config/server.properites as AWS
> *private IP* address
> (not public *DNS*)
> 2. comment host.name at config/server.properites
> 3. In remote java producer:
> props.put("metadata.broker.list",  borkerPrivateIp+ ":9092");
> The value brokerPrivateIp is same as advertised.host.name
>  at config/server.properites
>
>      This bug blocked me a while...
>
> Sincerely,
> Selina
>
> On Thu, Aug 13, 2015 at 9:56 PM, Job-Selina Wu <swucareer99@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
> >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message