0

mongodb のシャード クラスター、2 つのシャードがあり、各シャードは 3 つのサーバー レプリカ セットです。すべてのサーバーは aws-vpc にあり、認証オプションのない keyFile を使用します。mongos サーバーのみが IP と外部アクセスを持ち、認証オプションがあります。私はmongosサーバーに10gen MMSサービスをインストールし、すべてのサーバーを識別しましたが、ログにエラーをスローし始めました:

Problem collecting blocking data from (check if it is up and DNS): 10.0.1.150:27017 -
exception: Traceback (most recent call last): File "/root/mms-agent/blockingStats.py",
line 81, in _collectBlockingStats stats = self._collectStats( passes, monitorConn ) File
"/root/mms-agent/blockingStats.py", line 175, in _collectStats root['serverStatus'] = 
monitorConn.admin.command( 'serverStatus' ) File "/usr/lib/python2.6/site-
packages/pymongo-2.5.2-py2.6-linux-x86_64.egg/pymongo/database.py", line 393, in
command msg, allowable_errors) File "/usr/lib/python2.6/site-packages/
pymongo-2.5.2-py2.6-linux-x86_64.egg/pymongo/helpers.py", line 147, in 
_check_command_response raise 
OperationFailure(msg % errmsg, code) OperationFailure: command SON([('serverStatus', 1)]) 
failed: unauthorized

私は追加しようとしました

globalAuthUsername = """MY_USER"""

globalAuthPassword = """MY_PASS"""

しかし、それでもこのエラーがスローされますが、少し異なります

Problem collecting blocking data from: 10.0.1.150:27017 - exception: Traceback (most 
recent call last): File "/root/mms-agent/blockingStats.py", line 57, in run monitorConn = 
self.mmsAgent.getDbConnection( self.hostKey ) File "/root/mms-agent/mmsAgent.py",
line    107,
in getDbConnection return pymongo.Connection( hostDef['mongoUri'] , slave_okay=True, 
document_class=bson.son.SON ) File "/usr/lib/python2.6/site-packages/pymongo-2.5.2-py2.6-
linux-x86_64.egg/pymongo/connection.py", line 220, in __init__ max_pool_size, 
document_class, 
tz_aware, _connect, **kwargs) File "/usr/lib/python2.6/site-packages/pymongo-2.5.2-py2.6-
linux-x86_64.egg/pymongo/mongo_client.py", line 355, in __init__ raise 
ConfigurationError(str(exc)) ConfigurationError: command SON([('authenticate', 1),
('user', u'root'), ('nonce', u'523396ae8ef27d70'), ('key',
u'ce27e3fa05186bd1b7d3594cd3efb00f')]) failed: auth fails

何か案は?

4

1 に答える 1

1

答えが見つかりました...すべてのインスタンスにはユーザー名があり、認証に合格する必要があります

于 2013-06-16T12:34:08.350 に答える