Hi all,
I get the following exception when trying to build a Kafka input DStream with
custom properties from Java. I am wondering if it's a problem with the Java to
Scala binding - I am at a loss for what I could be doing wrong.
14/04/10 16:46:28 ERROR NetworkInputTracker: De-registered receiver for network
stream 0 with message java.lang.NoSuchMethodException:
java.lang.Object.<init>(kafka.utils.VerifiableProperties)
Where java.lang.Object is referenced in the error, I expect it should be using
kafka.serializer.StringDecoder.
Here is my invocation:
Map<String, String> kafkaParams = new HashMap<>();
kafkaParams.put("zookeeper.connect", kafkaZooKeepers);
kafkaParams.put("zookeeper.connection.timeout.ms", "10000");
kafkaParams.put("group.id", kafkaConsumerGroup);
kafkaParams.put("auto.offset.reset", "smallest");
// The Spark processing stages
JavaPairDStream<String, String> messages = KafkaUtils.createStream(jssc,
String.class, String.class, StringDecoder.class,
StringDecoder.class,
kafkaParams, kafkaTopicMap,
StorageLevel.MEMORY_AND_DISK_SER_2());
Thanks for any insight,
Paul.
P.S. I would like to see a method in KafkaUtils that accepts kafkaParams
without requiring to specify the four data/decoder types.