MongoDB提示:not master and slaveOk=false

分享 未结 置顶 精帖 0 96
darkleo
darkleo 2018-05-11
出现的原因:mongo集群,你连接到了某一个SECONDARY主机上,然后此主机没有读取权限导致的。
解决办法:
1、在mongo shell中执行rs.slaveOk() 来获取读取的权限。https://docs.mongodb.com/manual/reference/method/rs.slaveOk/
2、在连接时使用指定PRIMARY主机(使用集群方式连接)。如果使用MongoDB管理软件请查看是否有相关配置信息。如果使用命令行方式可以如下命令格式进行连接:
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
                 
如:mongo mongodb://192.168.176.133:27018,192.168.176.135:27017/database?replicaSet=repset2


其中:192.168.176.133和192.168.176.135这两个ip是SECONDARY主机地址,连接后会自动切换到PRIMARY主机上(在连接时会自动查询配置信息,然后连接到PRIMARY主机上)replicaSet是集群名。

链接地址:https://docs.mongodb.com/manual/reference/connection-string/index.html

            注:如果在连接过程中出现host2或某个域名出现未知主机异常UnknownHostException时。请确定此集群在配置时进是否使用主机名映射。也就是否需要在本地修改hosts文件来添加映射关系。

 

   


还有不明白?追问
  • 消灭零回复