2016-10-05 7 views
0

Я использую Kafka connect для сохранения данных от брокера Kafka до эластичного поиска с использованием Confluent Platform.DataException: Преобразование байта [] в данные Kafka Connect не удалось из-за ошибки сериализации

Я написал SinkConnector, чтобы сохранить данные в эластичном поиске.

конфигурации

Connect-avro-standalone.properties являются:

 key.converter=org.apache.kafka.connect.json.JsonConverter 
    value.converter=org.apache.kafka.connect.json.JsonConverter 

Но когда я нажимаю действительный JSON от Avro производителя на к Кафке он приводит ниже исключения.

2016-10-05 15:02:25,225] ERROR Task kafka-elasticsearch-sink1-0 threw an uncaught and unrecoverable exception (org.apache.kafka.connect.runtime.WorkerTask) 
org.apache.kafka.connect.errors.DataException: Converting byte[] to Kafka Connect data failed due to serialization error: 
     at org.apache.kafka.connect.json.JsonConverter.toConnectData(JsonConverter.java:328) 
     at org.apache.kafka.connect.runtime.WorkerSinkTask.convertMessages(WorkerSinkTask.java:356) 
     at org.apache.kafka.connect.runtime.WorkerSinkTask.poll(WorkerSinkTask.java:226) 
     at org.apache.kafka.connect.runtime.WorkerSinkTask.iteration(WorkerSinkTask.java:170) 
     at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:142) 
     at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:140) 
     at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:175) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.kafka.common.errors.SerializationException: java.lang.ArrayIndexOutOfBoundsException: 6 
Caused by: java.lang.ArrayIndexOutOfBoundsException: 6 
     at com.fasterxml.jackson.core.io.UTF32Reader.read(UTF32Reader.java:138) 
     at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.loadMore(ReaderBasedJsonParser.java:153) 
     at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._skipWSOrEnd(ReaderBasedJsonParser.java:1854) 
     at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:571) 

ответ

1

У меня было две разные версии json-databind jar в classpath 2.5.4 и 2.6.3. Удалена версия 2.4.4 из jar из classpath и исправлена ​​проблема.