elasticsearch,Mongodb,elasticsearch" /> elasticsearch,Mongodb,elasticsearch" />

elasticsearch抛出mongodb河异常工作

elasticsearch抛出mongodb河异常工作,mongodb,elasticsearch,Mongodb,elasticsearch,我按照链接使用mongodb river集成了elasticsearch和mongodb。每个组件的版本为: ubuntu 12.04 64位 ES 0.90.0 mongodb 2.4.3 河流1.6.5 Mongodb在一台服务器上独立运行,但根据此链接,oplog以replSet形式打开,oplogSize在/etc/Mongodb.conf中配置,db.oplog.rs.find()也显示一些操作记录。 该索引由以下内容添加: curl -XPUT localhost:9200/_r

我按照链接使用mongodb river集成了elasticsearch和mongodb。每个组件的版本为:

  • ubuntu 12.04 64位
  • ES 0.90.0
  • mongodb 2.4.3
  • 河流1.6.5
Mongodb在一台服务器上独立运行,但根据此链接,oplog以replSet形式打开,oplogSize在/etc/Mongodb.conf中配置,db.oplog.rs.find()也显示一些操作记录。 该索引由以下内容添加:

curl -XPUT localhost:9200/_river/appdata/_meta -d'
{
  "type": "mongodb",
  "mongodb" : {
    "db": "test_appdata",
    "collection": "app_collection"
  },
  "index": {
    "name": "test_appdata",
    "type": "app"
  }
}'
但当elasticsearch启动时,日志显示一些异常,如下所示:

[2013-05-07 23:20:40,400][INFO ][river.mongodb            ] [Ransak the Reject] [mongodb][app] starting mongodb stream. options: secondaryreadpreference [false], throttlesize [500], gridfs [false], filter [], db [test_appdata], script [null], indexing to [test_appdata]/[app]
Exception in thread "elasticsearch[Sundragon][mongodb_river_slurper][T#1]" java.lang.NoSuchMethodError: org.elasticsearch.action.get.GetResponse.exists()Z
    at org.elasticsearch.river.mongodb.MongoDBRiver.getLastTimestamp(MongoDBRiver.java:1088)
    at org.elasticsearch.river.mongodb.MongoDBRiver.access$2200(MongoDBRiver.java:93)
    at org.elasticsearch.river.mongodb.MongoDBRiver$Slurper.getIndexFilter(MongoDBRiver.java:967)
    at org.elasticsearch.river.mongodb.MongoDBRiver$Slurper.oplogCursor(MongoDBRiver.java:1021)
    at org.elasticsearch.river.mongodb.MongoDBRiver$Slurper.run(MongoDBRiver.java:858)
    at java.lang.Thread.run(Thread.java:679)
我是elasticsearch和mongodb的新手,mongodb的副本设置导致了错误吗?
感谢您的建议。

您的河流与Elasticsearch 0.90不兼容。
移动到ES 0.20.6或在Mongodb river项目中请求修补程序。

我将河流升级到1.6.6,它工作正常。这是river&es&mongodb的兼容性列表。非常感谢。