errmsg not master and slaveOk=false,code 13435,codeName NotMasterNoSlaveOk
当在SECONDARY 节点读取操作,报如下错误:
rs0:SECONDARY> show tables;
2020-08-26T10:34:53.196+0800 E QUERY [thread1] Error: listCollections failed: {
"operationTime" : Timestamp(1598409284, 2),
"ok" : 0,
"errmsg" : "not master and slaveOk=false",
"code" : 13435,
"codeName" : "NotMasterNoSlaveOk",
"$clusterTime" : {
"clusterTime" : Timestamp(1598409284, 2),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
原因:
SECONDARY 是不允许读写操作的。
解决方法一:
在SECONDARY 节点中执行
rs.slaveOk();
解决方法二:
添加到js文件中,连接mongo时,启动shell的时候自动加载。
vi ~/.mongorc.js
rs.slaveOk();
浙公网安备 33010602011771号