Java client node initializing error (Jar Hell) when trying to start with license JAR


(Andreynikk) #1

Hi,

after an uprade to ES 2.1, marvel requires the license plugin and all the client nodes that connect to it requires the license plugin as well. i'm having trouble to start my client node using java API.
i placed the license jar file to {EShome}/plugins folder but it fails to load with the following error:

java.lang.IllegalStateException: failed to load bundle [file:/var/es_streamer_home/plugins/license/license-2.1.1.jar] due to jar hell at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:338) ~[elasticsearch-2.1.1.jar:2.1.1] at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:109) ~[elasticsearch-2.1.1.jar:2.1.1] at org.elasticsearch.node.Node.<init>(Node.java:146) ~[elasticsearch-2.1.1.jar:2.1.1] at org.elasticsearch.node.Node.<init>(Node.java:128) ~[elasticsearch-2.1.1.jar:2.1.1] at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:145) ~[elasticsearch-2.1.1.jar:2.1.1] at org.elasticsearch.node.NodeBuilder.node(NodeBuilder.java:152) ~[elasticsearch-2.1.1.jar:2.1.1]
Caused by: java.lang.IllegalStateException: Classpath should not contain empty elements! (outdated shell script from a previous version?) classpath=':/var/opt/elastic_streamer_new/lib/plexus-io-1.0-alpha-3.jar:/var/opt/elastic_streamer_new/lib/public-suffix-handler-1.0.0.jar:/var/opt/elastic_streamer_new/lib/public-suffix-list-2.0.4-CYREN.jar:/var/opt/elastic_streamer_new/lib/joda-time-2.8.2.jar:/var/opt/elastic_streamer_new/lib/plexus-utils-1.5.5.jar:/var/opt/elastic_streamer_new/lib/log4j-core-2.1.jar:/var/opt/elastic_streamer_new/lib/lucene-queryparser-5.3.1.jar:/var/opt/elastic_streamer_new/lib/commons-io-2.4.jar:/var/opt/elastic_streamer_new/lib/plexus-interpolation-1.6.jar:/var/opt/elastic_streamer_new/lib/geoip-api-1.2.14.jar:/var/opt/elastic_streamer_new/lib/maven-archiver-2.4.jar:/var/opt/elastic_streamer_new/lib/wagon-provider-api-1.0-alpha-5.jar:/var/opt/elastic_streamer_new/lib/commons-cli-1.3.1.jar:/var/opt/elastic_streamer_new/lib/mysql-connector-java-5.1.31.jar:/var/opt/elastic_streamer_new/lib/lucene-grouping-5.3.1.jar:/var/opt/elastic_streamer_new/lib/maven-artifact-manager-2.0.jar:/var/opt/elastic_streamer_new/lib/plexus-component-api-1.0-alpha-16.jar:/var/opt/elastic_streamer_new/lib/plexus-classworlds-1.2-alpha-7.jar:/var/opt/elastic_streamer_new/lib/gson-2.3.jar:/var/opt/elastic_streamer_new/lib/plexus-container-default-1.0-alpha-15.jar:/var/opt/elastic_streamer_new/lib/log4j-slf4j-impl-2.1.jar:/var/opt/elastic_streamer_new/lib/maven-project-2.0.jar:/var/opt/elastic_streamer_new/lib/TomcatDBUtil-1.0.5.jar:/var/opt/elastic_streamer_new/lib/lucene-spatial-5.3.1.jar:/var/opt/elastic_streamer_new/lib/antlr-runtime-3.5.jar:/var/opt/elastic_streamer_new/lib/HdrHistogram-2.1.6.jar:/var/opt/elastic_streamer_new/lib/lucene-misc-5.3.1.jar:/var/opt/elastic_streamer_new/lib/maven-artifact-2.0.jar:/var/opt/elastic_streamer_new/lib/spatial4j-0.4.1.jar:/var/opt/elastic_streamer_new/lib/lucene-memory-5.3.1.jar:/var/opt/elastic_streamer_new/lib/lucene-backward-codecs-5.3.1.jar:/var/opt/elastic_streamer_new/lib/guava-18.0.jar:/var/opt/elastic_streamer_new/lib/maven-model-2.0.jar:/var/opt/elastic_streamer_new/lib/tomcat-juli-8.0.3.jar:/var/opt/elastic_streamer_new/lib/jackson-dataformat-cbor-2.6.2.jar:/var/opt/elastic_streamer_new/lib/log4j-over-slf4j-1.7.12.jar:/var/opt/elastic_streamer_new/lib/log4j-api-2.1.jar:/var/opt/elastic_streamer_new/lib/lucene-spatial3d-5.3.1.jar:/var/opt/elastic_streamer_new/lib/jsr166e-1.1.0.jar:/var/opt/elastic_streamer_new/lib/jtds-1.3.1.jar:/var/opt/elastic_streamer_new/lib/maven-repository-metadata-2.0.jar:/var/opt/elastic_streamer_new/lib/netty-3.10.5.Final.jar:/var/opt/elastic_streamer_new/lib/junit-3.8.1.jar:/var/opt/elastic_streamer_new/lib/jersey-client-1.19.jar:/var/opt/elastic_streamer_new/lib/joda-convert-1.2.jar:/var/opt/elastic_streamer_new/lib/slf4j-api-1.7.12.jar:/var/opt/elastic_streamer_new/lib/hppc-
.
.
.

    at org.elasticsearch.bootstrap.JarHell.parseClassPath(JarHell.java:121) ~[elasticsearch-2.1.1.jar:2.1.1]
    at org.elasticsearch.bootstrap.JarHell.parseClassPath(JarHell.java:96) ~[elasticsearch-2.1.1.jar:2.1.1]
    at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:334) ~[elasticsearch-2.1.1.jar:2.1.1]

so my question is how can i start the java client node with the license jar loaded? what is the correct way to do it?

Thanks.


(Dhawal Parkar) #2

Did you figure this out ? I am facing the same issue.


(system) #3