Dear All: I am looking for experts on Kafka to help me on remote Kafka java producer configuration .
My Kafka java broker and producer are at different *AWS* instances. How should I set "metadata.broker.list" value. According to https://kafka.apache.org/08/configuration.html, The format of " metadata.broker.list"is host1:port1,host2:port2, and the list can be a subset of brokers or a VIP pointing to a subset of brokers. I am wondering what is the value of "*VIP pointing to a subset of brokers"*, what is the correct value of metadata.broker.list My Kafka Broker server public ip address is 52.16.17.181 My Kafka Broker server public DNS is *ec2-51-16-17-181.us-west-1.compute.amazonaws.com <http://ec2-51-18-21-235.us-west-1.compute.amazonaws.com/>* Is My producer configuration below right? Do I miss anything? //I think the value of *metadata.broker.list *is not right, but I don not know what is the right value props.put("*metadata.broker.list", "52.16.17.181:9092 <http://52.16.17.181:9092>"*); props.put("serializer.class", "kafka.serializer.StringEncoder"); props.put("request.required.acks", "0"); My Kafka Broker Sever and Error at Kafka Producer java client side are list below. This bug is blocking me a few days. Your help are highly appreciated. Sincerely, Selina --------*The configs/server.properties at Kafka Broker 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=ec2-51-16-17-181.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 -------Error at Kafka Producer java client side ----- 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)