我跟隨鏈接http://elasticsearch-users.115913.n3.nabble.com/ElasticSearch-and-Mongo-DB-td4033358.html使用mongodb河整合elasticsearch和mongodb。每個組件的版本是:elasticsearch拋出與mongodb河的異常工作
- 的Ubuntu 12.04 64位
- ES 0.90.0
- 的MongoDB 2.4.3
- 河1.6.5
MongoDB是獨立運行在一臺服務器但根據此鏈接http://loosexaml.wordpress.com/2012/09/03/how-to-get-a-mongodb-oplog-without-a-full-replica-set/,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中的副本設置造成了錯誤? 任何建議表示讚賞。
我把這條河升級到1.6.6,它工作正常。這裏是河&es&mongodb的可兼容性列表,https://github.com/richardwilly98/elasticsearch-river-mongodb。謝謝! – Avalon 2013-05-08 02:28:17