Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
Kafka >> mail # user >> 0.8.0 producer can't connect to cluster?


Copy link to this message
-
0.8.0 producer can't connect to cluster?
Hi,

Installed 0.8.0 yesterday, 3 physical machines, 9 brokers running (3 per
machine). 2 topics, with 3 replicas each

the console producer/consumer examples work fine.

When I run my producer logic I get the following error whether on the
cluster or in my dev environment:

Exception in thread "main" kafka.common.FailedToSendMessageException:
Failed to send messages after 3 tries.
at
kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:70)
at kafka.producer.Producer.send(Producer.scala:75)
at kafka.javaapi.producer.Producer.send(Producer.scala:32)
at com.silverpop.kafka.playproducer.TestProducer.main(TestProducer.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

Code is pretty basic:

public class TestProducer {
    public static void main(String[] args) {

        String zookeeper = args[0];
        long events = Long.parseLong(args[1]);
        long blocks = Long.parseLong(args[2]);

        Random rnd = new Random();

        Properties props = new Properties();
        props.put("broker.list", "mongodb03.atlnp1:9092");
        props.put("serializer.class", "kafka.serializer.StringEncoder");
        ProducerConfig config = new ProducerConfig(props);
        Producer<Integer, String> producer = new Producer<Integer,
String>(config);
        for (long nBlocks = 0; nBlocks < blocks; nBlocks++) {
            for (long nEvents = 0; nEvents < events; nEvents++) {
                long runtime = new Date().getTime();
                String msg = runtime + "," + (50 + nBlocks) + "," +
nEvents+ "," + rnd.nextInt(1000);
                KeyedMessage<Integer, String> data = new
KeyedMessage<Integer, String>("test1", msg);
                producer.send(data);
            }
        }
    }

using Zookeeper doesn't matter. Changing broker.list to include all 9
brokers doesn't matter. Changing Producer and KeyedMessage to be <String,
String> doesn't matter.

Thoughts on what I'm doing wrong?

Thanks,

Chris
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB