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" ] } ); 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM