Hi,
could you please try adding the lucene-core-4.10.4.jar file to your lib folder 
of Flink. 
(https://repo1.maven.org/maven2/org/apache/lucene/lucene-core/4.10.4/) 
Elasticsearch uses dependency injection to resolve the classes and maven is not 
really aware of this.

Also you could try adding lucent-codecs-4.10.4.jar as well 
(https://repo1.maven.org/maven2/org/apache/lucene/lucene-codecs/4.10.4/).

Cheers,
Aljoscha
> On 12 Jan 2016, at 11:55, Lopez, Javier <javier.lo...@zalando.de> wrote:
> 
> Hi,
> 
> We are using the sink for ElasticSearch and when we try to run our job we get 
> the following exception:
> 
> java.lang.ExceptionInInitializerError Caused by: 
> java.lang.IllegalArgumentException: An SPI class of type 
> org.apache.lucene.codecs.Codec with name 'Lucene410' does not exist.  You 
> need to add the corresponding JAR file supporting this SPI to your classpath. 
>  The current classpath supports the following names: []
> 
> We are using embedded nodes and we don't know if we are missing some 
> configuration for the elasticsearch client. This is the code we are using:
> 
> Map<String, String> config = Maps.newHashMap();
> 
>   config.put("bulk.flush.max.actions", "1");
>   
>   config.put("cluster.name", "flink-test");
>   
>   
> 
>   result.addSink(new ElasticsearchSink<>(config, new 
> IndexRequestBuilder<Tuple4<String, Double, Long, Double>>() {
>       @Override
>       public org.elasticsearch.action.index.IndexRequest 
> createIndexRequest(Tuple4<String, Double, Long, Double> element, 
> RuntimeContext ctx) {
>           Map<String, Object> json = new HashMap<>();
>           json.put("data", element);
>           return org.elasticsearch.client.Requests.indexRequest()
>                   .index("stream_test_1")
>                   .type("aggregation_test")
>                   .source(json);
>       }
>   }));
> 
> The flink server as well as the elasticsearch server are in the same local 
> machine. 
> 
> Thanks for your help

Reply via email to