java - mongodb:如何检查我在 replicaSet 上连接的节点

标签 java mongodb database-replication

我用 MongoDB ReplicaSet 配置了 3 台机器,一切都很好,我可以连接到它们,其中一台挂掉了,剩下的继续工作,没问题。

我连接 URI:hostname1,hostname2,hostname3/?readPreference=secondary,然后我做了一些查询,它们也正常工作,但我想检查这个连接是否真的在查询来自辅助节点。

我该如何检查?我应该相信这是这样做的吗?我也在用 mongo 检查机器上的日志,所有这些都显示相同的东西,即连接到所有三个(从 REMOTEIP #NUMBER 接受连接).

我还使用 Java 进行了快速测试,并从我配置的 com.mongo.DB 中读取了 db.getReadPreference(),它显示为次要。所以它是一样的,我应该相信这个吗?是否仅正确查询辅助节点?

谢谢。

最佳答案

1) 使用 mongostat 命令,它会告诉您有多少不同的操作(查询、插入、更新、删除、命令等)正在进入服务器 您会发现主节点没有进行任何“查询”操作,但辅助节点会。

mongostat -u<user-name> -p<password>

2) 使用 mongosniff,了解进入服务器的查询

关于java - mongodb:如何检查我在 replicaSet 上连接的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16921533/

相关文章:

java - UI线程在android中的异步类运行之前运行

java - 在 Android Intent 的 putExtra 中传递 null 会导致编译时错误?

MongoDB - 如何从嵌套数组中的元素中删除字段?

json - MongoDB:查找最近 X 天的记录(严格的 JSON 格式)

database-design - MongoDB 表方案设计-最佳实践。是否使用主文档(如在主表 rdbms 中)

mysql - 制作新的 MYSQL 复制

具有动态用户组的 CouchDB 复制策略

MongoDB——跨数据中心初选DRP/地理分布式副本集

java - 重写 OnReceive 中的 Null 局部变量

Java UTF-8 编码产生不正确的输出