我是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;
答案 0 :(得分:1)
检查您的Mongo版本。
我遇到过类似的问题。根据我的经验,这是因为没有遵循兼容性矩阵 - 对哪些版本的河流采用什么版本的elasticsearch有严格的要求。即使是elasticsearch-mapper-attachments插件的版本也需要匹配。
由于您使用的是ES 1.4.2 - 我确保您至少运行了MongoDB 2.6.6。在我的Mac上,我使用Mongo 2.6.7和elasticsearch-mapper-attachments 2.4.1运行1.4.2。
这是你在进行任何进一步的故障排除之前需要做的最小的事情,否则你会把你的头发拉出来,因为抛出的每个Java异常都会导致你越来越远离兔子洞。
以下是链接:
https://github.com/elasticsearch/elasticsearch-mapper-attachments
https://github.com/richardwilly98/elasticsearch-river-mongodb