日期:2014-05-16  浏览次数:20428 次

【转】为什么java无法连接搭在一台机器上的mongo复制集
这篇文章或许已经不再使用,测试版本为2.7.x,有兴趣可以测试最新版本

一、问题说明:
?????? 最近测试mongo复制集,由于没有机器,所以选择在一台虚拟机上搭建。然后使用mongo-java-driver连接。
①、复制集初始化函数如下:
???????

  1. > config = {_id: 'shard1', members: [{_id: 0, host: '127.0.0.1:20011'},{_id: 1, host: '127.0.0.1:20012'},{_id: 2, host:'127.0.0.1:20013'}]}
  2. > rs.initiate(config)

??????? 或者你换成localhost,都没有关系。
②、java连接代码如下:

  1. static?Mongo m?=?null;
  2. ????static{
  3. ????????try?{
  4. ????????????List<ServerAddress>?list=?new?ArrayList<ServerAddress>();
  5. ????????????ServerAddress sap0?=?new?ServerAddress("192.168.132.100",20011);
  6. ????????????ServerAddress sas1?=?new?ServerAddress("192.168.132.100",20012);
  7. ????????????ServerAddress sas2?=?new?ServerAddress("192.168.132.100",20013);
  8. ????????????list.add(sap0);
  9. ????????????list.add(sas1);
  10. ????????????list.add(sas2);
  11. ????????????m?=?new?Mongo(list);
  12. ????????}?catch?(UnknownHostException?e)?{
  13. ????????????// TODO Auto-gener