1

Konstruktion Da es sehr schwierig ist, ein Kafka-Connector zu debuggen, die meine dockerized Elastic Instanz verbinden muss, konnte ich nicht herausfinden, warum ich diese Ausnahme bin immer ...NoSuchMethodError wenn PreBuiltTransportClient für elastische

Als ich bin versuchen, neue Transport Client:

Settings settings = Settings.builder() 
     .put("cluster.name", clusterName).build(); 

client = new PreBuiltTransportClient(settings); 
client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(url), port)); 

das ist die ganze Klasse: https://github.com/skynyrd/kafka-connect-elastic-sink/blob/master/src/main/java/com/skynyrd/kafka/client/ElasticClientImpl.java

ich diesen Fehler:

java.lang.NoSuchMethodError: org.elasticsearch.transport.client.PreBuiltTransportClient.addPlugins(Ljava/util/Collection;Ljava/util/Collection;)Ljava/util/Collection; 
    at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:127) 
    at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:113) 
    at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:103) 
    at com.skynyrd.kafka.client.ElasticClientImpl.<init>(ElasticClientImpl.java:33) 
    at com.skynyrd.kafka.service.ElasticServiceImpl.<init>(ElasticServiceImpl.java:38) 
    at com.skynyrd.kafka.ElasticSinkTask.start(ElasticSinkTask.java:30) 
    at org.apache.kafka.connect.runtime.WorkerSinkTask.initializeAndStart(WorkerSinkTask.java:231) 
    at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:145) 
    at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:139) 
    at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:182) 
    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:748) 
[2017-09-12 14:18:23,817] ERROR Task is being killed and will not recover until manually restarted (org.apache.kafka.connect.runtime.WorkerTask:142) 
[2017-09-12 14:18:23,817] ERROR Task ElasticSinkConnector-0 threw an uncaught and unrecoverable exception during shutdown (org.apache.kafka.connect.runtime.WorkerTask:120) 
java.lang.NullPointerException 
    at com.skynyrd.kafka.ElasticSinkTask.stop(ElasticSinkTask.java:47) 
    at org.apache.kafka.connect.runtime.WorkerSinkTask.close(WorkerSinkTask.java:131) 
    at org.apache.kafka.connect.runtime.WorkerTask.doClose(WorkerTask.java:118) 
    at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:145) 
    at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:182) 
    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:748) 

Hier ist mein Repository in lokalen auszuführen: https://github.com/skynyrd/kafka-connect-elastic-sink

Bin ich etwas fehlt? Danke

Antwort

0

Sie können ein Uber Glas mit Maven Schatten Plugin bauen. Dieses Dokument beschreibt diesen Ansatz link.

Verwandte Themen