MongoDb的“not master and slaveok=false”错误及解决方法,读写分离

首先这是正常的,因为SECONDARY是不允许读写的, 在写多读少的应用中,使用Replica Sets来实现读写分离。通过在连接时指定或者在主库指定slaveOk,由Secondary来分担读的压力,Primary只承担写操作。

对于replica set 中的secondary 节点默认是不可读的,

[[email protected] bin]$ mongo 127.0.0.1:33333

MongoDB shell version: 2.0.1

connecting to: 127.0.0.1:33333/test

SECONDARY> db.user.find()

error: { "$err" : "not master and slaveok=false", "code" : 13435 }

SECONDARY> db.getMongo()

connection to 127.0.0.1:33333

SECONDARY> db.getMongo().setSlaveOk();

not master and slaveok=false

在主库上设置 slaveok=ok

[[email protected] bin]$ mongo 127.0.0.1:33333

MongoDB shell version: 2.0.1

connecting to: 127.0.0.1:33333/test

PRIMARY> db.getMongo().setSlaveOk();

PRIMARY>

在从库进行测试

SECONDARY> db.user.find()

{ "_id" : ObjectId("4eb68b1540643e10a0000000"), "id" : 1, "name" : "zhangsan" }

{ "_id" : ObjectId("4eb68b1540643e10a0000001"), "id" : 2, "name" : ";lisi" }

另外可参考如下解决方案:
http://stackoverflow.com/questions/8990158/mongdodb-replicates-and-error-err-not-master-and-slaveok-false-code

MongoDb的“not master and slaveok=false”错误及解决方法,读写分离

时间: 2024-08-13 07:52:16

MongoDb的“not master and slaveok=false”错误及解决方法,读写分离的相关文章

MongoDb的“not master and slaveok=false”错误及解决方法

在SECONDARY查询出发现如下错误: 这是正常的,因为SECONDARY是不允许读写的,如果非要解决,方法如下: SECONDARY> rs.slaveOk();

MongoDB的“not master and slaveok=false”错误解决

在客户端操作MongoDB时经常会如下错误: SECONDARY> show collections; Fri Jul 18 17:36:53 uncaught exception: error: { "$err" : "not master and slaveok=false", "code" : 13435 } 原因是从服务器上的数据库是不允许进行读写操作,所以就会报类似于这样的错误. 强制解决的办法: SECONDARY> rs

PySpider HTTP 599: SSL certificate problem错误的解决方法(转)

前言 最近发现许多小伙伴在用 PySpider 爬取 https 开头的网站的时候遇到了 HTTP 599: SSL certificate problem: self signed certificate in certificate chain 的错误. 经过一番排查,解决方案总结如下 错误原因 这个错误会发生在请求 https 开头的网址,SSL 验证错误,证书有误. 报错如下 解决方案 最简单的解决方法是: 在 crawl 方法中加入忽略证书验证的参数,validate_cert=Fal

SQL SERVER出现大量一致性错误的解决方法

如果DBCC CHECKDB发现了比较少的一致性错误,可以使用   DBCC UPDATEUSAGE(DatabaseName,"dbo.ObjectName"); 语句逐个针对表或索引中的每个分区更正行.已用页.保留页.叶级页和数据页的计数.但是如果数据库出现大量一致性错误.例如如下所示: DBCC results for 'JO_T_CUTXX'. 消息 2508,级别 16,状态 1,第 1 行 The In-row data USED page count for object

编程中遇到的Python错误和解决方法汇总整理

这篇文章主要介绍了自己编程中遇到的Python错误和解决方法汇总整理,本文收集整理了较多的案例,需要的朋友可以参考下 开个贴,用于记录平时经常碰到的Python的错误同时对导致错误的原因进行分析,并持续更新,方便以后查询,学习.知识在于积累嘛!微笑+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++错误: 复制代码代码如下: >>> def f(x, y):      print x, y  >>> t

J2EE编程心得-使用Hibernate出现的错误及解决方法 更新中...

1.  使用Hibernate时出现Session was already closed异常 出现此异常的原因是Session已经被关闭 如果不是使用的SessionFactory.getSession()来获得Session. 而是使用SessionFactory.getCurrentSession()方法来获得Session时,当事务结束的时候,不管是提交还是回滚事务,hibernate会自动关闭Session的, 所以不需要手动关闭. public boolean insert(LiftI

因用了NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误的解决方法

今天遇到一个问题,就是"NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误",百度后发现了一个解决方法,跟大家分享下: NeatUpload是一个开源的大文件上传控件,非常的强大,支持文件类型过滤.上传进度条显示.多文件上传等强大的功能. 但部署至项目后,有些地方用普通的FileUpload上传时却发生了一个错误(Nonfile portion > 4194304 bytes,文件大于默认值4M),因如果用NeatUp

ASP.NET MVC 3 loginUrl自动变成Account/Login,并且发生404错误的解决方法

http://www.cnblogs.com/think8848/archive/2011/07/08/2100814.html ASP.NET MVC 3 loginUrl自动变成Account/Login,并且发生404错误的解决方法 在ASP.NET中使用 <authentication mode="Forms">时,如果在forms配置节中,没有指定loginUrl,那么根据MSDN上的说法,默认值是login.aspx,在指定loginUrl时,就使用指定的Url

ASP.NET输出PNG图片时出现GDI+一般性错误的解决方法

偶原来的用ASP.NET生成验证码图片时用的是JPG格式,今天想把它改成PNG格式的,结果就出现GDI+一般性错误,查了N久资料,才发现解决的办法,对分享此解决办法的网友深表感谢 Response.Clear();Response.ContentType = "image/PNG";img.Save(Response.OutputStream, ChartFormat.Png);竟然出现异常,是GDI+一般性错误.但是如果格式是Response.ContentType = "