sirensolutions / siren-join

[This is the old, single node version for Elasticsearch 2.x, see the latest "Siren Federate" plugin for distributed Elasticsearch 5.x and 6.x capabilities]
http://siren.io
GNU Affero General Public License v3.0
183 stars 60 forks source link

ES error message: Unable to initialize plugins #41

Closed akre1 closed 8 years ago

akre1 commented 8 years ago

Hi All,

I get this error message from ES after the installation (please see below). Any idea how to fix this?

>elasticsearch-2.1.1

>Linux ariel 2.6.32-431.11.2.el6.x86_64 #1 SMP Mon Mar 3 13:32:45 EST 2014 x86_64 x86_64 x86_64 GNU/Linux

Exception in thread "main" java.lang.IllegalStateException: Unable to initialize plugins Likely root cause: java.nio.file.NoSuchFileException: /applications/elasticsearch/users/esuser/elasticsearch-2.1.1/plugins/siren-join-2.1.1/plugin-descriptor.properties at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214) at java.nio.file.Files.newByteChannel(Files.java:361) at java.nio.file.Files.newByteChannel(Files.java:407) at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:384) at java.nio.file.Files.newInputStream(Files.java:152) at org.elasticsearch.plugins.PluginInfo.readFromProperties(PluginInfo.java:86) at org.elasticsearch.plugins.PluginsService.getPluginBundles(PluginsService.java:302) at org.elasticsearch.plugins.PluginsService.(PluginsService.java:108) at org.elasticsearch.node.Node.(Node.java:146) at org.elasticsearch.node.Node.(Node.java:128) at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:145) at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:178) at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35) Refer to the log for complete error details.

Many thanks in advance.

Regards, Alexander

akre1 commented 8 years ago

/siren-join-2.1.1/plugin-descriptor.properties is needed I have build one (see below) and restarted ES. Unfortunately now I get this error message:

Exception in thread "main" ElasticsearchException[Could not find plugin class [solutions.siren.join.SirenJoinPlugin]]; nested: ClassNotFoundException[solutions.siren.join.SirenJoinPlugin]; Likely root cause: java.lang.ClassNotFoundException: solutions.siren.join.SirenJoinPlugin at java.net.URLClassLoader$1.run(URLClassLoader.java:372) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:798) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.elasticsearch.plugins.PluginsService.loadPluginClass(PluginsService.java:380) at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:348) at org.elasticsearch.plugins.PluginsService.(PluginsService.java:109) at org.elasticsearch.node.Node.(Node.java:146) at org.elasticsearch.node.Node.(Node.java:128) at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:145) at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:178) at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35) Refer to the log for complete error details.

#################################################

/siren-join-2.1.1/plugin-descriptor.properties

################################################# description=SIREn Join Plugin for Elasticsearch version=2.1.1 name=siren-join elasticsearch.version=2.1.1 classname=solutions.siren.join.SirenJoinPlugin java.version=1.7 site=false jvm=true ###########################################

Any idea how to explain where this "solutions.siren.join.SirenJoinPlugin" located. Or I'm wrong with this workaround and exist more easier way?

Thanks, Alexander

rendel commented 8 years ago

@akre1 could you give more information on how you installed the plugin ? Did you build it yourself ? Or did you use the install command: bin/plugin install solutions.siren/siren-join/2.1.1 ?

akre1 commented 8 years ago

@scampi: Yes , you're right. This properties exist actually here ../elasticsearch-2.1.1/plugins/siren-join-2.1.1/src/main/resources/ But, ES don't use this directory to read them

@rendel: I used both methods installation from local and from internet 1) elasticsearch-2.1.1/bin/plugin install file:siren-join-2.1.1.zip Here I get this error message during the installation. So, unfortunately the local installation in my case doesn't working at all.

2) elasticsearch-2.1.1/bin/plugin install solutions.siren/siren-join/2.1.1 Here, the installation process seams to be ok (I guess, because this part has been done by system administrators and they didn't complains about the installation process), but then this error occurs if I try to start ES.

rendel commented 8 years ago

@akre1 how did you build the siren-join-2.1.1.zip file ? After the first failed attempt to install the plugin using the zip file, have you removed the siren-join plugin before installing it from internet ? Could you try to redo the installation step from internet on a fresh ES install ?

akre1 commented 8 years ago

@rendel Yes, Plugin has been removed and than installed. Unfortunately to install on a fresh ES doesn't make a difference. The same error appear.

I'm going to create package from source. I'll report how it went.

rendel commented 8 years ago

Weird, the error looks like a classpath problem, like if the elasticsearch instance was not properly loading the plugin classes. What java distrib and version are you using ?

akre1 commented 8 years ago

I'm using jdk1.8.0_25, and elasticsearch-2.1.1

akre1 commented 8 years ago

@rendel many thanks for you help. Well, the issue has been solved.

scampi commented 8 years ago

@akre1 for future reference, how did you manage to solve this ? thanks!

akre1 commented 8 years ago

@scampi you have to follow this simple steps:

  1. Download the source code from here (github)
  2. Follow this instructions (https://www.elastic.co/guide/en/elasticsearch/plugins/2.2/plugin-authors.html) use maven to create the plugin package.
  3. Installation: .../elasticseacrh-2-y-z/bin/plugin install file:/path/to/zip

enjoy :)