JPA를 사용하여 mongodb에 내 Java 응용 프로그램을 연결하기 위해 datanucleus mongodb maven 플러그인과 "액세스 플랫폼"을 사용하고 있습니다.mongodb 복제본 세트에 연결할 수 없습니다
나는, VM 우분투에 http://docs.mongodb.org/manual/tutorial/deploy-replica-set/ 의 지시에 따라 db1.mongo, db2.mongo을 추가하고, 호스트가 게스트 VM 및 호스트 (맥 OS X) 모두에서 파일에 db3.mongo했습니다.
(http://www.datanucleus.org/products/accessplatform_3_0/mongodb/support.html에 설명 된대로) 서버에 연결하는 간단한 Java 응용 프로그램이 있습니다.
나는 차 (연결 URL : mongodb:db1.mongo:27017/ops?replicaSet=rs0
)에 응용 프로그램을 연결하면 모든 것이 잘 작동하지만 mongodb:db1.mongo:27017/ops?replicaSet=rs0,db2.mongo:27018,db3.mongo:27019
가되도록 내가 연결 URL로 다른 두 MongoDB의의의를 추가 할 때 예외 얻을 :
com.mongodb.MongoException: can't find a master
at com.mongodb.DBTCPConnector.checkMaster(DBTCPConnector.java:503)
at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:236)
at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:216)
...
을
이 오류를 검색했지만 발견 한 것들은 localhost/127.0.0.1을 사용합니다. 필자는 mongodb를 별도의 VM에서 실행하고 비 로컬 IP를 실행하고 호스트 파일에 이름을 추가하여 완화하려고했습니다.
mongodb를 사용하는 주 목표는 복제를 가능하게하고 장애 조치가 가능하도록 가용성을 확보하는 것입니다. 문제가 발생해도 노드 간의 트랜잭션과 일관성은 문제가되지 않으며, 한 번에 두 번 업데이트를 잃어 버릴 염려가 없으므로 mongodb는 JPA를 사용하여 좋은 대안으로 보입니다 (나는 완전히 mysql :-)로 몸살을 앓고 있습니다
미리 도움을 주셔서 감사합니다.