I shaded the Elasticsearch dependency [1] and now the job works.
So I cannot run a job that needs guava 18 on Flink 1.2.1...

[1]  https://www.elastic.co/blog/to-shade-or-not-to-shade

On Wed, Jun 7, 2017 at 5:33 PM, Tzu-Li (Gordon) Tai <tzuli...@apache.org>
wrote:

> Hi Flavio,
>
> Could there be another dependency in your job that requires a conflicting
> version (w.r.t. ES 2.4.1) of Guava?
> I’ve just double checked the flink-dist jar, there doesn’t seem to be any
> non-shaded Guava dependencies there, so the conflict should not have been
> caused by Flink.
>
> Cheers,
> Gordon
>
>
> On 7 June 2017 at 4:12:04 PM, Flavio Pompermaier (pomperma...@okkam.it)
> wrote:
>
> Hi to all,
> I'm trying to use the new ES connector to index data from Flink (with ES
> 2.4.1).
> When I try to run it from Eclipse everything is ok, when I run it from the
> cluster I get the following exception:
>
> java.lang.NoSuchMethodError: com.google.common.util.concurr
> ent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;
>         at org.elasticsearch.threadpool.ThreadPool.<clinit>(ThreadPool.
> java:192)
>         at org.elasticsearch.client.transport.TransportClient$Builder.
> build(TransportClient.java:131)
>
> In my fat jar there are the classes of guava 18 (ES requires that
> version), Flink runs on CDH 5.9 (that use guava 11), in flink-dist jar I
> think that there's guava 11 classes while in flink-hadoop-compatibility
> there are shade guava 18 dependencies.
>
> How can I make the job successfully run on the cluster?
>
> Best,
> Flavio
>
>

Reply via email to