mongodb的读写分离使用Replica Sets来实现
cookqq ›博客列表 ›MongoDB

mongodb的读写分离使用Replica Sets来实现

2015-12-08 15:42:25.0|分类: MongoDB|浏览量: 3606

摘要: om.mongodb.MongoException: not talking to master and retries used up第一种方法:在java代码中调用dbFactory.getDb().slaveOk(); 第二种方法:在java代码中调用 dbFactory.getDb().setReadPreference(ReadPreference.secondaryPreferred());//在复制集中优先读secondary,如果secondary访问不了的时候就从master中读


在部署mongodb副本集的时候可以设置读取数据从次副本上读取,在次副本的mongodb的命令中执行:

第一种方法:db.getMongo().setSlaveOk();
第二种方法:rs.slaveOk();


如果是通过java访问secondary的话则会报下面的异常

   com.mongodb.MongoException: not talking to master and retries used up
at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:317)
at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:319)
at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:319)

解决的办法很多。
第一种方法:在java代码中调用dbFactory.getDb().slaveOk();
第二种方法:在java代码中调用
dbFactory.getDb().setReadPreference(ReadPreference.secondaryPreferred());//在复制集中优先读secondary,如果secondary访问不了的时候就从master中读
或
dbFactory.getDb().setReadPreference(ReadPreference.secondary());//只从secondary中读,如果secondary访问不了的时候就不能进行查询


mongodb的读写分离环境部署完成和java驱动设置完成,怎么验证数据是否从次副本读取的呢??

方法: (1)使用mongostat -h host1 查看主副本的节点的mongo状态

     (2)使用mongostat -h host2 查看次副本的节点的mongo状态

    (3)执行读取数据动作,查看哪一个节点下面的query查询数量变动了,就证明数据是从哪一个节点读取的



一键分享文章

分类列表

  • • struts源码分析
  • • flink
  • • struts
  • • redis
  • • kafka
  • • ubuntu
  • • zookeeper
  • • hadoop
  • • activiti
  • • linux
  • • 成长
  • • NIO
  • • 关键词提取
  • • mysql
  • • android studio
  • • zabbix
  • • 云计算
  • • mahout
  • • jmeter
  • • hive
  • • ActiveMQ
  • • lucene
  • • MongoDB
  • • netty
  • • flume
  • • 我遇到的问题
  • • GRUB
  • • nginx
  • • 大家好的文章
  • • android
  • • tomcat
  • • Python
  • • luke
  • • android源码编译
  • • 安全
  • • MPAndroidChart
  • • swing
  • • POI
  • • powerdesigner
  • • jquery
  • • html
  • • java
  • • eclipse
  • • shell
  • • jvm
  • • highcharts
  • • 设计模式
  • • 列式数据库
  • • spring cloud
  • • docker+node.js+zookeeper构建微服务
版权所有 cookqq 感谢访问 支持开源 京ICP备15030920号
CopyRight 2015-2018 cookqq.com All Right Reserved.