Fork me on GitHub

MongoDB 日志中出现“UserNotFound: Could not find user ceilometer@ceilometer”,如何解决?

MongoDB 日志中出现“UserNotFound: Could not find user ceilometer@ceilometer”


 

问题描述

MongoDB(版本 3.2.9) 服务启动后,Ceilometer-api服务连接 MongoDB 的时候,报认证失败,导致8777端口一直用不了。

MongoDB 日志报错,具体如下:

2019-11-04T14:28:46.130+0800 I CONTROL  [signalProcessingThread] dbexit:  rc: 0
2019-11-04T14:28:53.758+0800 I CONTROL  [main] ***** SERVER RESTARTED *****
2019-11-04T14:28:53.765+0800 I CONTROL  [initandlisten] MongoDB starting : pid=2586 port=27017 dbpath=/var/lib/mongodb 64-bit host=ubuntu
2019-11-04T14:28:53.765+0800 I CONTROL  [initandlisten] db version v3.2.9
2019-11-04T14:28:53.765+0800 I CONTROL  [initandlisten] git version: 22ec9e93b40c85fc7cae7d56e7d6a02fd811088c
2019-11-04T14:28:53.765+0800 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014
2019-11-04T14:28:53.765+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2019-11-04T14:28:53.765+0800 I CONTROL  [initandlisten] modules: none
2019-11-04T14:28:53.765+0800 I CONTROL  [initandlisten] build environment:
2019-11-04T14:28:53.765+0800 I CONTROL  [initandlisten]     distmod: ubuntu1404
2019-11-04T14:28:53.765+0800 I CONTROL  [initandlisten]     distarch: x86_64
2019-11-04T14:28:53.765+0800 I CONTROL  [initandlisten]     target_arch: x86_64
2019-11-04T14:28:53.765+0800 I CONTROL  [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "0.0.0.0", port: 27017 }, storage: { dbPath: "/var/lib/mongodb", engine: "wiredTiger", journal: { enabled: true }, wiredTiger: { collectionConfig: { blockCompressor: "snappy" }, engineConfig: { directoryForIndexes: true, journalCompressor: "snappy" }, indexConfig: { prefixCompression: true } } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2019-11-04T14:28:53.783+0800 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=13G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2019-11-04T14:28:58.241+0800 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/var/lib/mongodb/diagnostic.data'
2019-11-04T14:28:58.241+0800 I NETWORK  [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
2019-11-04T14:28:58.241+0800 I NETWORK  [initandlisten] waiting for connections on port 27017
2019-11-04T14:28:59.019+0800 I NETWORK  [initandlisten] connection accepted from 10.117.26.104:44085 #1 (1 connection now open)
2019-11-04T14:28:59.272+0800 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:59823 #2 (2 connections now open)
2019-11-04T14:28:59.417+0800 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:59824 #3 (3 connections now open)
2019-11-04T14:28:59.418+0800 I ACCESS   [conn3] SCRAM-SHA-1 authentication failed for ceilometer on ceilometer from client 127.0.0.1 ; UserNotFound: Could not find user ceilometer@ceilometer
2019-11-04T14:28:59.802+0800 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:59825 #4 (4 connections now open)
2019-11-04T14:29:09.420+0800 I ACCESS   [conn3] SCRAM-SHA-1 authentication failed for ceilometer on ceilometer from client 127.0.0.1 ; UserNotFound: Could not find user ceilometer@ceilometer
2019-11-04T14:29:19.421+0800 I ACCESS   [conn3] SCRAM-SHA-1 authentication failed for ceilometer on ceilometer from client 127.0.0.1 ; UserNotFound: Could not find user ceilometer@ceilometer
2019-11-04T14:29:29.423+0800 I ACCESS   [conn3] SCRAM-SHA-1 authentication failed for ceilometer on ceilometer from client 127.0.0.1 ; UserNotFound: Could not find user ceilometer@ceilometer

 

问题原因

从日志信息中可以看出,MongoDB 中缺少 ceilometer 数据库  ceilometer 账号

 

问题解决

需要在 MongoDB 的 ceilometer 数据库里创建 ceilometer 账号

具体命令如下三条:

mongo
use ceilometer;
db.createUser( { user: "ceilometer", pwd: "password",roles: [ "readWrite", "dbAdmin" ] } );

 

额外补充

1)3.X 以前版本的 MongoDB 使用 db.addUser 方法创建用户,使用如下命令:

 db.addUser({user: "ceilometer", pwd: "password", roles: [ "readWrite", "dbAdmin" ]});

 

2)3.X 以后版本的 MongoDB 不再支持 db.addUser 方法创建用户,必须使用 db.createUser 方法创建用户,使用如下命令:

 

db.createUser( { user: "ceilometer", pwd: "password",roles: [ "readWrite", "dbAdmin" ] } ); 

 

posted @ 2019-11-06 00:41  龙凌云端  阅读(3108)  评论(0编辑  收藏  举报