lihe55966 2016-09-14 05:36 采纳率: 0%
浏览 1487

mongodb连接集群的疑问

情况描述如下:
1、用集群连接方式创建mongodb连接
List seeds = new ArrayList<>();
for(String h : host_list){
ServerAddress sa = new ServerAddress(h,port);
seeds.add(sa);
}

MongoOptions opt = new MongoOptions();
opt.connectionsPerHost = poolSize;
opt.threadsAllowedToBlockForConnectionMultiplier = blockSize;
mg = new Mongo(seeds, opt);

2、其中一个ip是虚假的,为了测试集群连接方式能够正常工作。
3、验证登录
db_con.authenticate(user, password.toCharArray());

问题所在:
如果用debug模式,手动跟踪代码,在有ip无效的情况下,验证能正常通过,能进行下面的mongodb操作。
但是如果正常执行,验证不通过,会提示mongodb所操作的集合需要认证。如下
com.mongodb.MongoException: Rare case where master=null, probably all servers are down
at com.mongodb.DBTCPConnector$MyPort.get(DBTCPConnector.java:438)
at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:280)
at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:257)
at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:310)
at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:295)
at com.mongodb.DBCursor._check(DBCursor.java:368)
at com.mongodb.DBCursor._hasNext(DBCursor.java:459)
at com.mongodb.DBCursor.hasNext(DBCursor.java:484)
at com.hw.jgpt.mongo.SimpleTest.main(SimpleTest.java:98)

如果在 mg = new Mongo(seeds, opt); 这句话之后加上休眠语句,会报错:
com.mongodb.MongoException: not authorized for query on ************************
at com.mongodb.MongoException.parse(MongoException.java:82)
at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:314)
at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:295)
at com.mongodb.DBCursor._check(DBCursor.java:368)
at com.mongodb.DBCursor._hasNext(DBCursor.java:459)
at com.mongodb.DBCursor.hasNext(DBCursor.java:484)
at com.hw.jgpt.mongo.SimpleTest.main(SimpleTest.java:98)

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2016-10-07 16:29
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)