richardwilly98 / elasticsearch-river-mongodb

MongoDB River Plugin for ElasticSearch
1.12k stars 215 forks source link

River on Elasticsearch Cluster fail #471

Open ewgRa opened 9 years ago

ewgRa commented 9 years ago

We found some strange behavior when elasticsearch installed as cluster.

We have three servers: ESNode1, ESNode2 and MongoDBNode. ES nodes as cluster.

When we install first river - it goes to ESNode1 and work. When we install second river, it goes to ESNode2 and freeze, seems due to #470, at least we have similar records in log "com.mongodb.MongoInterruptedException: Interrupted while waiting for a server that matches".

We try check firewalls, tracepath and so on, also as connection to MongoDBNode from ESNode2 and all is ok. "mongo ESNode2" is working well. But when ES river try connect to mongo - it can't. Maybe problem in mongo-java-driver?

For now we have solution, just deny install river to ESNode2, set on ESNode2 elasticsearch.yml config file node.river to none. When river instaleed to ESNode1, both river works.

I have same issue when try install river from my local computer to MongoDBNode. Same log, same problems. No firewall, not any problem to connect via client, but problem connect via elasticsearch river. On localhost I haven't cluster, just one ES node. I try put to elasticsearch plugin jar for mongo-java-driver with version 2.13.0 and mongo-java-driver-3.0.0-beta2, but is doesn't help.

Hope this explanations help, it is very strange that ES river can't connect to mongodb, but mongo client can.

Versions: Elasticsearch -1.4.2 River plugin 2.0.5 (mongo-java-driver-2.12.4) MongoDB - 2.6.7

phongmh307 commented 9 years ago

I got the same issue, i can run it on my local machine/same server but unable to contact when moved ES to external server

minisotm commented 9 years ago

+1

fuqqer commented 9 years ago

+1