群集中的MongoDB身份验证

时间:2016-10-10 09:06:29

标签: mongodb authentication

我设法使用身份验证配置MongoDB群集。我的意思是我在我的数据副本集中的所有 mongod 和配置副本集中的所有 mongod 上激活了授权:启用 localhost异常机制。 我现在的问题是 mongos 。当我启动一个 mongos 实例时,我有几个关于身份验证的错误:

[replSetDistLockPinger] pinging failed for distributed lock pinger :: caused by :: Unauthorized: not authorized on config to execute command { findAndModify: "lockpings", query: { _id: "as-nscl-01:27017:1475328403:-980595768" }, update: { $set: { ping: new Date(1476088485351) } }, upsert: true, writeConcern: { w: "majority", wtimeout: 15000 }, maxTimeMS: 30000 }
[UserCacheInvalidator] An error occurred while fetching current user cache generation to check if user cache needs invalidation: Unauthorized: not authorized on admin to execute command { _getUserCacheGeneration: 1, maxTimeMS: 30000 }

我的问题是我现在不知道该怎么做。我在文档中没有看到与此相关的任何内容。也许我需要为 mongos 创建一个具有某些权限的特殊用户?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我终于成功了。实际上,问题来自于声明 security.authorization:enabled 的配置文件。 mongos 实例禁止使用此参数,并阻止守护程序启动。删除参数可以解决问题。 我遇到的错误来自之前的运行。