Rivers Installation trouble (JDBC, Wikipedia, ...)

Hello,

I'll try to evaluate elasticsearch as an alternative to sphinx search.
So, my first need is to replace quickly indexer provide by sphinx.

JDDB was the solution but I can't get it running at all.
It seems that I can't intall any rivers.

The process I'll try on both ubuntu precise 64 and debian squeeze 64 :

  • Install SE 0.19.8 from deb package.
  • The server is running very quickly and working
  • Install a plugin head to interract with ES without using curl, the plugin
    is running successful.
  • Install jdbc rivers plugins :

bin/plugin -install jprante/elasticsearch-river-jdbc
-> Installing jprante/elasticsearch-river-jdbc...
Trying
https://github.com/downloads/jprante/elasticsearch-river-jdbc/elasticsearch-river-jdbc-0.19.8.zip...
Trying
https://github.com/jprante/elasticsearch-river-jdbc/zipball/v0.19.8...
Trying
https://github.com/jprante/elasticsearch-river-jdbc/zipball/master...
Downloading .........DONE
Identified as a _site plugin, moving to _site structure ...
Installed river-jdbc

Seems ok, install the mysql connector in /usr/share/elasticsearch/lib

  • Restart elasticsearch
  • Log output :

[2012-08-18 09:02:07,867][INFO ][node ] [Golden Girl]
{0.19.8}[17549]: initializing ...
[2012-08-18 09:02:07,881][INFO ][plugins ] [Golden Girl]*loaded , sites [river-jdbc, head]
*
[2012-08-18 09:02:10,222][INFO ][node ] [Golden Girl]
{0.19.8}[17549]: initialized
[2012-08-18 09:02:10,223][INFO ][node ] [Golden Girl]
{0.19.8}[17549]: starting ...
[2012-08-18 09:02:10,337][INFO ][transport ] [Golden Girl]
bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address
{inet[/192.168.18.207:9300]}
[2012-08-18 09:02:13,390][INFO ][cluster.service ] [Golden Girl]
new_master [Golden
Girl][NeUSfo7oSmyLgqaIeMUjZA][inet[/192.168.18.207:9300]], reason:
zen-disco-join (elected_as_master)
[2012-08-18 09:02:13,470][INFO ][discovery ] [Golden Girl]
elasticsearch/NeUSfo7oSmyLgqaIeMUjZA
[2012-08-18 09:02:13,494][INFO ][http ] [Golden Girl]
bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address
{inet[/192.168.18.207:9200]}
[2012-08-18 09:02:13,494][INFO ][node ] [Golden Girl]
{0.19.8}[17549]: started

Seems that the pluigins is loaded

  • Create the rivers :

curl -XPUT 'localhost:9200/_river/test/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"driver" : "com.mysql.jdbc.Driver",
"url" : "jdbc:mysql://localbost:3306/article",
"user" : "es",
"password" : "es",
"sql" : "select * from articles"
}
}'

  • es return un json with ok: true but the log output :

[2012-08-18 09:02:14,517][WARN ][river ] [Golden Girl]
failed to create river [jdbc][test]
org.elasticsearch.common.settings.NoClassSettingsException: Failed to load
class with value [jdbc]
at
org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:86)
at org.elasticsearch.river.RiverModule.spawnModules(RiverModule.java:57)
at
org.elasticsearch.common.inject.ModulesBuilder.add(ModulesBuilder.java:44)
at
org.elasticsearch.river.RiversService.createRiver(RiversService.java:135)
at
org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:270)
at
org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:264)
at
org.elasticsearch.action.support.TransportAction$ThreadedActionListener$1.run(TransportAction.java:86)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ClassNotFoundException: jdbc
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at
org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:72)
... 9 more

I'll try to a lot of time on different server but I can't have any other
message.
I'll try with wikipedia river just for try another river type the same
error Failed to load class
It drive me nuts since I really don't see where I failed (moreover just at
the begining).
I'll try to manually put some data on ES and all seems to work.

Any help will be greatly appreciate.

Thanks.

--

Look at doc: https://github.com/jprante/elasticsearch-river-jdbc/wiki/Quickstart
bin/plugin -install jprante/elasticsearch-river-jdbc/1.3.2

You must give the version number.

HTH

--
David :wink:
Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs

Le 18 août 2012 à 09:20, Lu Do tchiot.ludo@gmail.com a écrit :

Hello,

I'll try to evaluate elasticsearch as an alternative to sphinx search.
So, my first need is to replace quickly indexer provide by sphinx.

JDDB was the solution but I can't get it running at all.
It seems that I can't intall any rivers.

The process I'll try on both ubuntu precise 64 and debian squeeze 64 :

  • Install SE 0.19.8 from deb package.

  • The server is running very quickly and working

  • Install a plugin head to interract with ES without using curl, the plugin is running successful.

  • Install jdbc rivers plugins :
    bin/plugin -install jprante/elasticsearch-river-jdbc
    -> Installing jprante/elasticsearch-river-jdbc...
    Trying https://github.com/downloads/jprante/elasticsearch-river-jdbc/elasticsearch-river-jdbc-0.19.8.zip...
    Trying https://github.com/jprante/elasticsearch-river-jdbc/zipball/v0.19.8...
    Trying https://github.com/jprante/elasticsearch-river-jdbc/zipball/master...
    Downloading .........DONE
    Identified as a _site plugin, moving to _site structure ...
    Installed river-jdbc
    Seems ok, install the mysql connector in /usr/share/elasticsearch/lib

  • Restart elasticsearch

  • Log output :
    [2012-08-18 09:02:07,867][INFO ][node ] [Golden Girl] {0.19.8}[17549]: initializing ...
    [2012-08-18 09:02:07,881][INFO ][plugins ] [Golden Girl] loaded [], sites [river-jdbc, head]
    [2012-08-18 09:02:10,222][INFO ][node ] [Golden Girl] {0.19.8}[17549]: initialized
    [2012-08-18 09:02:10,223][INFO ][node ] [Golden Girl] {0.19.8}[17549]: starting ...
    [2012-08-18 09:02:10,337][INFO ][transport ] [Golden Girl] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/192.168.18.207:9300]}
    [2012-08-18 09:02:13,390][INFO ][cluster.service ] [Golden Girl] new_master [Golden Girl][NeUSfo7oSmyLgqaIeMUjZA][inet[/192.168.18.207:9300]], reason: zen-disco-join (elected_as_master)
    [2012-08-18 09:02:13,470][INFO ][discovery ] [Golden Girl] elasticsearch/NeUSfo7oSmyLgqaIeMUjZA
    [2012-08-18 09:02:13,494][INFO ][http ] [Golden Girl] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/192.168.18.207:9200]}
    [2012-08-18 09:02:13,494][INFO ][node ] [Golden Girl] {0.19.8}[17549]: started
    Seems that the pluigins is loaded

  • Create the rivers :
    curl -XPUT 'localhost:9200/_river/test/_meta' -d '{
    "type" : "jdbc",
    "jdbc" : {
    "driver" : "com.mysql.jdbc.Driver",
    "url" : "jdbc:mysql://localbost:3306/article",
    "user" : "es",
    "password" : "es",
    "sql" : "select * from articles"
    }
    }'

  • es return un json with ok: true but the log output :

[2012-08-18 09:02:14,517][WARN ][river ] [Golden Girl] failed to create river [jdbc][test]
org.elasticsearch.common.settings.NoClassSettingsException: Failed to load class with value [jdbc]
at org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:86)
at org.elasticsearch.river.RiverModule.spawnModules(RiverModule.java:57)
at org.elasticsearch.common.inject.ModulesBuilder.add(ModulesBuilder.java:44)
at org.elasticsearch.river.RiversService.createRiver(RiversService.java:135)
at org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:270)
at org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:264)
at org.elasticsearch.action.support.TransportAction$ThreadedActionListener$1.run(TransportAction.java:86)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ClassNotFoundException: jdbc
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:72)
... 9 more
I'll try to a lot of time on different server but I can't have any other message.
I'll try with wikipedia river just for try another river type the same error Failed to load class
It drive me nuts since I really don't see where I failed (moreover just at the begining).
I'll try to manually put some data on ES and all seems to work.

Any help will be greatly appreciate.

Thanks.

--

--

ok ... so dumb I am...

I just see that I checkout the source and not the JAR ...

Thanks a lot David for your so quick response.
All works now, I can play with ES

Thanks

On Saturday, August 18, 2012 10:16:36 AM UTC+2, David Pilato wrote:

Look at doc:
Quickstart · jprante/elasticsearch-jdbc Wiki · GitHub
bin/plugin -install jprante/elasticsearch-river-jdbc/1.3.2

You must give the version number.

HTH

--
David :wink:
Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs

Le 18 août 2012 à 09:20, Lu Do <tchio...@gmail.com <javascript:>> a
écrit :

Hello,

I'll try to evaluate elasticsearch as an alternative to sphinx search.
So, my first need is to replace quickly indexer provide by sphinx.

JDDB was the solution but I can't get it running at all.
It seems that I can't intall any rivers.

The process I'll try on both ubuntu precise 64 and debian squeeze 64 :

  • Install SE 0.19.8 from deb package.
  • The server is running very quickly and working
  • Install a plugin head to interract with ES without using curl, the
    plugin is running successful.
  • Install jdbc rivers plugins :

bin/plugin -install jprante/elasticsearch-river-jdbc
-> Installing jprante/elasticsearch-river-jdbc...
Trying
https://github.com/downloads/jprante/elasticsearch-river-jdbc/elasticsearch-river-jdbc-0.19.8.zip
...
Trying
https://github.com/jprante/elasticsearch-river-jdbc/zipball/v0.19.8...
Trying https://github.com/jprante/elasticsearch-river-jdbc/zipball/master
...
Downloading .........DONE
Identified as a _site plugin, moving to _site structure ...
Installed river-jdbc

Seems ok, install the mysql connector in /usr/share/elasticsearch/lib

  • Restart elasticsearch
  • Log output :

[2012-08-18 09:02:07,867][INFO ][node ] [Golden Girl]
{0.19.8}[17549]: initializing ...
[2012-08-18 09:02:07,881][INFO ][plugins ] [Golden Girl]*loaded , sites [river-jdbc, head]
*
[2012-08-18 09:02:10,222][INFO ][node ] [Golden Girl]
{0.19.8}[17549]: initialized
[2012-08-18 09:02:10,223][INFO ][node ] [Golden Girl]
{0.19.8}[17549]: starting ...
[2012-08-18 09:02:10,337][INFO ][transport ] [Golden Girl]
bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/
192.168.18.207:9300]}
[2012-08-18 09:02:13,390][INFO ][cluster.service ] [Golden Girl]
new_master [Golden
Girl][NeUSfo7oSmyLgqaIeMUjZA][inet[/192.168.18.207:9300]], reason:
zen-disco-join (elected_as_master)
[2012-08-18 09:02:13,470][INFO ][discovery ] [Golden Girl]
elasticsearch/NeUSfo7oSmyLgqaIeMUjZA
[2012-08-18 09:02:13,494][INFO ][http ] [Golden Girl]
bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/
192.168.18.207:9200]}
[2012-08-18 09:02:13,494][INFO ][node ] [Golden Girl]
{0.19.8}[17549]: started

Seems that the pluigins is loaded

  • Create the rivers :

curl -XPUT 'localhost:9200/_river/test/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"driver" : "com.mysql.jdbc.Driver",
"url" : "jdbc:mysql://localbost:3306/article",
"user" : "es",
"password" : "es",
"sql" : "select * from articles"
}
}'

  • es return un json with ok: true but the log output :

[2012-08-18 09:02:14,517][WARN ][river ] [Golden Girl]
failed to create river [jdbc][test]
org.elasticsearch.common.settings.NoClassSettingsException: Failed to load
class with value [jdbc]
at
org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:86)
at
org.elasticsearch.river.RiverModule.spawnModules(RiverModule.java:57)
at
org.elasticsearch.common.inject.ModulesBuilder.add(ModulesBuilder.java:44)
at
org.elasticsearch.river.RiversService.createRiver(RiversService.java:135)
at
org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:270)
at
org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:264)
at
org.elasticsearch.action.support.TransportAction$ThreadedActionListener$1.run(TransportAction.java:86)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ClassNotFoundException: jdbc
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at
org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:72)
... 9 more

I'll try to a lot of time on different server but I can't have any other
message.
I'll try with wikipedia river just for try another river type the same
error Failed to load class
It drive me nuts since I really don't see where I failed (moreover just at
the begining).
I'll try to manually put some data on ES and all seems to work.

Any help will be greatly appreciate.

Thanks.

--

--

I will add this to the JDBC river install notice. It is not obvious to see
that omitting the version is installing the source code for self-compiling.

Best,

Jörg

On Saturday, August 18, 2012 10:33:20 AM UTC+2, Lu Do wrote:

ok ... so dumb I am...

I just see that I checkout the source and not the JAR ...

Thanks a lot David for your so quick response.
All works now, I can play with ES

Thanks

On Saturday, August 18, 2012 10:16:36 AM UTC+2, David Pilato wrote:

Look at doc:
Quickstart · jprante/elasticsearch-jdbc Wiki · GitHub
bin/plugin -install jprante/elasticsearch-river-jdbc/1.3.2

You must give the version number.

HTH

--
David :wink:
Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs

Le 18 août 2012 à 09:20, Lu Do tchio...@gmail.com a écrit :

Hello,

I'll try to evaluate elasticsearch as an alternative to sphinx search.
So, my first need is to replace quickly indexer provide by sphinx.

JDDB was the solution but I can't get it running at all.
It seems that I can't intall any rivers.

The process I'll try on both ubuntu precise 64 and debian squeeze 64 :

  • Install SE 0.19.8 from deb package.
  • The server is running very quickly and working
  • Install a plugin head to interract with ES without using curl, the
    plugin is running successful.
  • Install jdbc rivers plugins :

bin/plugin -install jprante/elasticsearch-river-jdbc
-> Installing jprante/elasticsearch-river-jdbc...
Trying
https://github.com/downloads/jprante/elasticsearch-river-jdbc/elasticsearch-river-jdbc-0.19.8.zip
...
Trying
https://github.com/jprante/elasticsearch-river-jdbc/zipball/v0.19.8...
Trying
https://github.com/jprante/elasticsearch-river-jdbc/zipball/master...
Downloading .........DONE
Identified as a _site plugin, moving to _site structure ...
Installed river-jdbc

Seems ok, install the mysql connector in /usr/share/elasticsearch/lib

  • Restart elasticsearch
  • Log output :

[2012-08-18 09:02:07,867][INFO ][node ] [Golden Girl]
{0.19.8}[17549]: initializing ...
[2012-08-18 09:02:07,881][INFO ][plugins ] [Golden Girl]

  • loaded , sites [river-jdbc, head]*
    [2012-08-18 09:02:10,222][INFO ][node ] [Golden Girl]
    {0.19.8}[17549]: initialized
    [2012-08-18 09:02:10,223][INFO ][node ] [Golden Girl]
    {0.19.8}[17549]: starting ...
    [2012-08-18 09:02:10,337][INFO ][transport ] [Golden Girl]
    bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/
    192.168.18.207:9300]}
    [2012-08-18 09:02:13,390][INFO ][cluster.service ] [Golden Girl]
    new_master [Golden
    Girl][NeUSfo7oSmyLgqaIeMUjZA][inet[/192.168.18.207:9300]], reason:
    zen-disco-join (elected_as_master)
    [2012-08-18 09:02:13,470][INFO ][discovery ] [Golden Girl]
    elasticsearch/NeUSfo7oSmyLgqaIeMUjZA
    [2012-08-18 09:02:13,494][INFO ][http ] [Golden Girl]
    bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/
    192.168.18.207:9200]}
    [2012-08-18 09:02:13,494][INFO ][node ] [Golden Girl]
    {0.19.8}[17549]: started

    Seems that the pluigins is loaded

  • Create the rivers :

curl -XPUT 'localhost:9200/_river/test/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"driver" : "com.mysql.jdbc.Driver",
"url" : "jdbc:mysql://localbost:3306/article",
"user" : "es",
"password" : "es",
"sql" : "select * from articles"
}
}'

  • es return un json with ok: true but the log output :

[2012-08-18 09:02:14,517][WARN ][river ] [Golden Girl]
failed to create river [jdbc][test]
org.elasticsearch.common.settings.NoClassSettingsException: Failed to
load class with value [jdbc]
at
org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:86)
at
org.elasticsearch.river.RiverModule.spawnModules(RiverModule.java:57)
at
org.elasticsearch.common.inject.ModulesBuilder.add(ModulesBuilder.java:44)
at
org.elasticsearch.river.RiversService.createRiver(RiversService.java:135)
at
org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:270)
at
org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:264)
at
org.elasticsearch.action.support.TransportAction$ThreadedActionListener$1.run(TransportAction.java:86)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ClassNotFoundException: jdbc
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at
org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:72)
... 9 more

I'll try to a lot of time on different server but I can't have any other
message.
I'll try with wikipedia river just for try another river type the same
error Failed to load class
It drive me nuts since I really don't see where I failed (moreover just
at the begining).
I'll try to manually put some data on ES and all seems to work.

Any help will be greatly appreciate.

Thanks.

--

--

Yes. And I think we should update this page :
http://www.elasticsearch.org/guide/reference/modules/plugins.html

With some details on how the plugin should appear and that it’s best
(mandatory?) to give the plugin version number.

Only site plugins does not require version number.

David.

De : elasticsearch@googlegroups.com [mailto:elasticsearch@googlegroups.com]
De la part de Jörg Prante
Envoyé : samedi 18 août 2012 12:01
À : elasticsearch@googlegroups.com
Objet : Re: Rivers Installation trouble (JDBC, Wikipedia, ...)

I will add this to the JDBC river install notice. It is not obvious to see
that omitting the version is installing the source code for self-compiling.

Best,

Jörg

On Saturday, August 18, 2012 10:33:20 AM UTC+2, Lu Do wrote:

ok ... so dumb I am...

I just see that I checkout the source and not the JAR ...

Thanks a lot David for your so quick response.
All works now, I can play with ES

Thanks

On Saturday, August 18, 2012 10:16:36 AM UTC+2, David Pilato wrote:

Look at doc:

bin/plugin -install jprante/elasticsearch-river-jdbc/1.3.2

You must give the version number.

HTH

--

David :wink:

Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs

Le 18 août 2012 à 09:20, Lu Do tchio...@gmail.com a écrit :

Hello,

I'll try to evaluate elasticsearch as an alternative to sphinx search.
So, my first need is to replace quickly indexer provide by sphinx.

JDDB was the solution but I can't get it running at all.
It seems that I can't intall any rivers.

The process I'll try on both ubuntu precise 64 and debian squeeze 64 :

  • Install SE 0.19.8 from deb package.
  • The server is running very quickly and working
  • Install a plugin head to interract with ES without using curl, the plugin
    is running successful.
  • Install jdbc rivers plugins :

bin/plugin -install jprante/elasticsearch-river-jdbc
-> Installing jprante/elasticsearch-river-jdbc...
Trying
https://github.com/downloads/jprante/elasticsearch-river-jdbc/elasticsearch-
river-jdbc-0.19.8.zip...
Trying
https://github.com/jprante/elasticsearch-river-jdbc/zipball/v0.19.8...
Trying https://github.com/jprante/elasticsearch-river-jdbc/zipball/master...
Downloading .........DONE
Identified as a _site plugin, moving to _site structure ...
Installed river-jdbc

Seems ok, install the mysql connector in /usr/share/elasticsearch/lib

  • Restart elasticsearch
  • Log output :

[2012-08-18 09:02:07,867][INFO ][node ] [Golden Girl]
{0.19.8}[17549]: initializing ...
[2012-08-18 09:02:07,881][INFO ][plugins ] [Golden Girl]
loaded [], sites [river-jdbc, head]
[2012-08-18 09:02:10,222][INFO ][node ] [Golden Girl]
{0.19.8}[17549]: initialized
[2012-08-18 09:02:10,223][INFO ][node ] [Golden Girl]
{0.19.8}[17549]: starting ...
[2012-08-18 09:02:10,337][INFO ][transport ] [Golden Girl]
bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address
{inet[/192.168.18.207:9300]}
[2012-08-18 09:02:13,390][INFO ][cluster.service ] [Golden Girl]
new_master [Golden
Girl][NeUSfo7oSmyLgqaIeMUjZA][inet[/192.168.18.207:9300]], reason:
zen-disco-join (elected_as_master)
[2012-08-18 09:02:13,470][INFO ][discovery ] [Golden Girl]
elasticsearch/NeUSfo7oSmyLgqaIeMUjZA
[2012-08-18 09:02:13,494][INFO ][http ] [Golden Girl]
bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address
{inet[/192.168.18.207:9200]}
[2012-08-18 09:02:13,494][INFO ][node ] [Golden Girl]
{0.19.8}[17549]: started

Seems that the pluigins is loaded

  • Create the rivers :

curl -XPUT 'localhost:9200/_river/test/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"driver" : "com.mysql.jdbc.Driver",
"url" : "jdbc:mysql://localbost:3306/article",
"user" : "es",
"password" : "es",
"sql" : "select * from articles"
}
}'

  • es return un json with ok: true but the log output :

[2012-08-18 09:02:14,517][WARN ][river ] [Golden Girl]
failed to create river [jdbc][test]
org.elasticsearch.common.settings.NoClassSettingsException: Failed to load
class with value [jdbc]
at
org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:86)
at org.elasticsearch.river.RiverModule.spawnModules(RiverModule.java:57)
at
org.elasticsearch.common.inject.ModulesBuilder.add(ModulesBuilder.java:44)
at
org.elasticsearch.river.RiversService.createRiver(RiversService.java:135)
at
org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService
.java:270)
at
org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService
.java:264)
at
org.elasticsearch.action.support.TransportAction$ThreadedActionListener$1.ru
n(TransportAction.java:86)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:11
10)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6
03)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ClassNotFoundException: jdbc
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at
org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:72)
... 9 more

I'll try to a lot of time on different server but I can't have any other
message.
I'll try with wikipedia river just for try another river type the same error
Failed to load class
It drive me nuts since I really don't see where I failed (moreover just at
the begining).
I'll try to manually put some data on ES and all seems to work.

Any help will be greatly appreciate.

Thanks.

--

--

--