弹性搜索 |未能创建河流
Elasticsearch | failed to create river
我是 Elasticsearch 的新手,正试图在我的 OS X 上启动它 运行,但我最终未能创建河流。
我对此仍然有点困惑,但我会尽力提供尽可能多的信息。
我安装的是:
Elasticsearch 1.4.2
elasticsearch-river-jdbc-2.3.1.jar
mysql-connector-java-5.1.33-bin.jar
我是怎么做的:
curl -XPUT 'localhost:9200/_river/search_river_1/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"url" : "jdbc:mysql://localhost:3306/licklist",
"user" : "my_user",
"password" : "my_password",
"sql" : "select sv.*, 16 AS weight from search_venues sv",
"index" : "search",
"type" : "Venue",
"max_bulk_requests" : 5,
"bulk_flush_interval" : "50s"
}
}'
响应是:
{
"_index": "_river",
"_type": "search_river_1",
"_id": "_meta",
"_version": 6,
"created": false
}
当我查看日志时,我看到了这个:
[2015-01-09 08:51:23,179][INFO ][cluster.metadata ] [Paradigm] [_river] creating index, cause [auto(index api)], shards [1]/[1], mappings [search_river_1]
[2015-01-09 08:51:24,685][INFO ][cluster.metadata ] [Paradigm] [_river] update_mapping [search_river_1] (dynamic)
[2015-01-09 08:51:25,064][WARN ][river ] [Paradigm] failed to create river [jdbc][search_river_1]
org.elasticsearch.common.inject.CreationException: Guice creation errors:
1) Error injecting constructor, java.lang.NoSuchMethodError: org.xbib.elasticsearch.river.jdbc.RiverSource.driver(Ljava/lang/String;)Lorg/xbib/elasticsearch/river/jd bc/RiverSource;
at org.xbib.elasticsearch.river.jdbc.JDBCRiver.<init>(Unknown Source)
while locating org.xbib.elasticsearch.river.jdbc.JDBCRiver
while locating org.elasticsearch.river.River
谢谢
编辑:
日志中的另一行:
Caused by: java.lang.NoSuchMethodError: org.xbib.elasticsearch.river.jdbc.RiverSource.driver(Ljava/lang/String;)Lorg/xbib/elasticsearch/river/jdbc/RiverSource;
检查您的 Mongo 版本。
我遇到过类似的问题。根据我的经验,这是因为没有遵循兼容性矩阵——对于哪些版本的河流与哪些版本的 elasticsearch 相匹配有严格的要求。甚至 elasticsearch-mapper-attachments 插件的版本也需要匹配。
由于您使用的是 ES 1.4.2 - 我会确保您 运行 至少是 MongoDB 2.6.6。在我的 mac 上,我是 运行 1.4.2,Mongo 2.6.7 和 elasticsearch-mapper-attachments 2.4.1。
这是您在进一步进行故障排除之前需要做的最起码的工作,否则您将大吃一惊,因为抛出的每个 Java 异常都会让您越陷越深。
链接如下:
https://github.com/elasticsearch/elasticsearch-mapper-attachments
https://github.com/richardwilly98/elasticsearch-river-mongodb
我是 Elasticsearch 的新手,正试图在我的 OS X 上启动它 运行,但我最终未能创建河流。
我对此仍然有点困惑,但我会尽力提供尽可能多的信息。
我安装的是:
Elasticsearch 1.4.2
elasticsearch-river-jdbc-2.3.1.jar
mysql-connector-java-5.1.33-bin.jar
我是怎么做的:
curl -XPUT 'localhost:9200/_river/search_river_1/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"url" : "jdbc:mysql://localhost:3306/licklist",
"user" : "my_user",
"password" : "my_password",
"sql" : "select sv.*, 16 AS weight from search_venues sv",
"index" : "search",
"type" : "Venue",
"max_bulk_requests" : 5,
"bulk_flush_interval" : "50s"
}
}'
响应是:
{
"_index": "_river",
"_type": "search_river_1",
"_id": "_meta",
"_version": 6,
"created": false
}
当我查看日志时,我看到了这个:
[2015-01-09 08:51:23,179][INFO ][cluster.metadata ] [Paradigm] [_river] creating index, cause [auto(index api)], shards [1]/[1], mappings [search_river_1]
[2015-01-09 08:51:24,685][INFO ][cluster.metadata ] [Paradigm] [_river] update_mapping [search_river_1] (dynamic)
[2015-01-09 08:51:25,064][WARN ][river ] [Paradigm] failed to create river [jdbc][search_river_1]
org.elasticsearch.common.inject.CreationException: Guice creation errors:
1) Error injecting constructor, java.lang.NoSuchMethodError: org.xbib.elasticsearch.river.jdbc.RiverSource.driver(Ljava/lang/String;)Lorg/xbib/elasticsearch/river/jd bc/RiverSource;
at org.xbib.elasticsearch.river.jdbc.JDBCRiver.<init>(Unknown Source)
while locating org.xbib.elasticsearch.river.jdbc.JDBCRiver
while locating org.elasticsearch.river.River
谢谢
编辑: 日志中的另一行:
Caused by: java.lang.NoSuchMethodError: org.xbib.elasticsearch.river.jdbc.RiverSource.driver(Ljava/lang/String;)Lorg/xbib/elasticsearch/river/jdbc/RiverSource;
检查您的 Mongo 版本。
我遇到过类似的问题。根据我的经验,这是因为没有遵循兼容性矩阵——对于哪些版本的河流与哪些版本的 elasticsearch 相匹配有严格的要求。甚至 elasticsearch-mapper-attachments 插件的版本也需要匹配。
由于您使用的是 ES 1.4.2 - 我会确保您 运行 至少是 MongoDB 2.6.6。在我的 mac 上,我是 运行 1.4.2,Mongo 2.6.7 和 elasticsearch-mapper-attachments 2.4.1。
这是您在进一步进行故障排除之前需要做的最起码的工作,否则您将大吃一惊,因为抛出的每个 Java 异常都会让您越陷越深。
链接如下:
https://github.com/elasticsearch/elasticsearch-mapper-attachments
https://github.com/richardwilly98/elasticsearch-river-mongodb