0 0

MongoDB replica set连接问题5

最近在尝试MongoDB,单节点时都还ok,结果用replica set时死活有问题

 

 

环境信息如下:

 

vmware +  + 

 

然后解压了3份



 

启动了3个进程(3个不同的端口)

 
 

config如下



 

rs.status



 
 

客户端用的Java,

 

host list

List<ServerAddress> list = new ArrayList<ServerAddress>();
		ServerAddress tmp1 = new ServerAddress("192.168.223.129", 27017);
		ServerAddress tmp2 = new ServerAddress("192.168.223.129", 27018);
		ServerAddress tmp3 = new ServerAddress("192.168.223.129", 27019);

		list.add(tmp1);
		list.add(tmp2);
		list.add(tmp3);
		return list;

 

然后悲剧来了,各种插入查询操作都是MongoTimeoutException

com.mongodb.MongoTimeoutException: Timed out while waiting for a server that matches {serverSelectors=[ReadPreferenceServerSelector{readPreference=primary}, LatencyMinimizingServerSelector{acceptableLatencyDifference=15ms}]} after 806 ms
	at com.mongodb.BaseCluster.getServer(BaseCluster.java:87)
	at com.mongodb.DBTCPConnector.getServer(DBTCPConnector.java:654)
	at com.mongodb.DBTCPConnector.access$300(DBTCPConnector.java:39)
	at com.mongodb.DBTCPConnector$MyPort.getConnection(DBTCPConnector.java:503)
	at com.mongodb.DBTCPConnector$MyPort.get(DBTCPConnector.java:451)
	at com.mongodb.DBTCPConnector.getPrimaryPort(DBTCPConnector.java:409)
	at com.mongodb.DBCollectionImpl.insert(DBCollectionImpl.java:182)
	at com.mongodb.DBCollectionImpl.insert(DBCollectionImpl.java:165)
	at com.mongodb.DBCollection.insert(DBCollection.java:161)
	at com.mongodb.DBCollection.insert(DBCollection.java:107)
	at com.mongodb.DBCollection.save(DBCollection.java:966)
	at com.mongodb.DBCollection.save(DBCollection.java:934)
	at xxx.xxx.xxx.mongo.MyMongoClient.add(MyMongoClient.java:103)
	at xxx.xxx.xxx.mongo.MyMongoClientTest.testMyTest(MyMongoClientTest.java:23)

 

既然提示这个了,那就加大点吧

acceptableLatencyDifference=15ms

 

MongoClient mongoClient = new MongoClient(hostList,
					new MongoClientOptions.Builder()
						.acceptableLatencyDifference(1 * 1000)
						.build());

 
 结果除了数字变了,其他一点儿没变。。。

com.mongodb.MongoTimeoutException: Timed out while waiting for a server that matches {serverSelectors=[ReadPreferenceServerSelector{readPreference=primary}, LatencyMinimizingServerSelector{acceptableLatencyDifference=1000 ms}]} after 806 ms

 

一路跟代码到抛异常的地方,这代码怎么连个注释也没有,实在看不下去了(好吧其实是我太懒不想看了

有没有遇到过相似问题的筒子们啊,来交流交流嘛

2014年12月10日 15:14
  • 大小: 2.7 KB
  • 大小: 1.8 KB
  • 大小: 6.8 KB
  • 大小: 2.3 KB
  • 大小: 4.3 KB
  • 大小: 11.6 KB
  • 大小: 39.5 KB
目前还没有答案

相关推荐

    k8s 安装 mongodb 分片(Sharding)+ 副本集(Replica Set)

    在部署 MongoDB 分片(Sharding)和副本集(Replica Set)后,我们需要配置 MongoDB 的配置文件,以便 MongoDB 可以连接到 Kubernetes 集群并使用持久存储。 本解决方案的优点主要包括: * 高可用性:MongoDB 分片...

    MongoDB的replica set的部署,检测优化,

    MongoDB的复制集(Replica Set)是一种高可用性架构,用于确保数据的冗余和容错性。在MongoDB中,复制集是由多个具有相同数据副本的节点组成,其中一个是主节点(Primary),其余是次级节点(Secondary)。主节点...

    mongodb replica set(副本集)设置步骤

    MongoDB的副本集(Replica Set)是一种高可用性解决方案,它通过在多个节点之间复制数据来确保数据的冗余和容错性。在MongoDB中,副本集由一组 MongoDB实例组成,包括一个主节点(Primary)和多个从节点...

    mongodb Replica Sets +Sharding高可用集群搭建

    在大型分布式系统中,为了实现高可用性和水平扩展,MongoDB提供了两种关键特性:副本集(Replica Sets)和分片(Sharding)。这篇博客将探讨如何搭建MongoDB的副本集和分片集群。 首先,我们来理解一下MongoDB的...

    docker-mongodb-replicaset:docker-mongodb-replicaset

    信息 该文件描述了如何在 Docker 上运行 Mongo DB Replica Set。 我们假设主机上的 ...$ cd docker-mongodb-replicaset $ docker build -t mongo . 使用副本集启动 docker 容器 $ ./start.sh 使用 bash 再运行一个

    mongodb replica set 配置高性能多服务器详解

    6. **监控状态**:使用`rs.status()`命令检查Replica Set的状态,确保所有成员都已正确连接并同步。 7. **故障转移**:在primary节点出现故障时,secondary节点会自动进行选举成为新的primary。 8. **配置变更**:...

    mongodb replica set 添加删除节点的2种方法

    MongoDB的复制集(Replica Set)是一种高可用性解决方案,它可以确保数据的冗余和在主节点故障时提供自动故障转移。复制集通常由多个成员组成,包括一个主节点(Primary)、一个或多个次级节点(Secondary)以及可选...

    mongodb_replica

    - 其中,`username`和`password`是数据库认证信息,`host1:port1,host2:port2`是副本集成员的地址,`dbname`是数据库名,`replicaSet=rs0`指定了副本集名称。 4. **读写策略** - SpringBoot 默认会将所有操作发送...

    MongoDB添加仲裁节点报错:replica set IDs do not match的解决方法

    由于历史原因,某个MongoDB副本集只有一主一从双节点,无法满足自动故障转移要求,需要配置一个仲裁节点。 原有节点192.168.10.20:27017,192.168.10.21:27017,现在准备在20上配置一个新节点27018当做仲裁 在当前主...

    Mongodb的ReplicaSets+Sharding架构(window篇)

    MongoDB的Replica Sets+Sharding架构是大数据时代下应对高可用性和可扩展性需求的重要解决方案。本篇文章将深入探讨这两个关键特性在Windows环境下的应用。 **副本集(Replica Sets)** MongoDB的副本集是一种高可用...

    详解Java 连接MongoDB集群的几种方式

    Java 连接 MongoDB 集群的多种方式 Java 连接 MongoDB 集群是目前 Java 开发中最常见的操作之一。在本文中,我们将详细介绍 Java 连接 MongoDB 集群的多种方式,包括连接独立的 MongoDB 实例、连接副本集、连接分片...

    mongodb-replica-set:在本地运行MongoDB Atlas进行测试

    在本地运行MongoDB Atlas进行测试先决条件Java 8+ 码头工人该图显示了本地和远程docker对plicateSetNumber的支持plicateSetNumber 本地Docker主机本地Docker主机从容器内部运行测试并映射Docker套接字远程Docker守护...

    MongoDB集群测试代码

    在这个“MongoDB集群测试代码”中,我们关注的是MongoDB的两个关键特性:副本集(Replica Set)和分片(Sharding),以及如何通过配置文件和脚本来进行集群的设置与测试。 1. **副本集(Replica Set)**: - 副本...

    C#开发的Mongodb集群自动部署工具

    4. MongoDB Replica Set 自动部署.exe和MongDB Replica Set 自动部署.pdb:这是实际的自动部署程序和其对应的调试信息文件。exe文件是可执行程序,可以直接运行在Windows环境下,通过SSH连接到Linux服务器并执行部署...

    mongodb-replicaset:示例副本集com mongodb

    Passo a passo Crie os arquivos .conf符合示例key-file com或abaixo:$ openssl rand -base64 741 &gt; /var/mongodb/pki/m103-keyfile$ chmod 400 /var/mongodb/pki/m103-keyfile 可以replica-set进行配置。...

Global site tag (gtag.js) - Google Analytics