Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sudo docker run -d --name mongodb -p 27017:27017 -v ~/docker_containers/mongo/data:/data/db mongo --auth
- docker exec -it mongodb mongo admin
- docker exec -it mongodb mongo -u admin -p admin --authenticationDatabase admin
- docker exec -it mongodb mongo -u admin_cygnus -p admin_cygnus --authenticationDatabase admin
- db.createUser(
- {
- user: "admin_cygnus",
- pwd: "admin_cygnus",
- roles: [ "readWrite", "dbAdmin" ]
- }
- )
- time=2018-04-25T16:29:50.497Z | lvl=ERROR | corr=cbc36164-48a5-11e8-8cea-0242ac120004 | trans=59a6bb07-f54c-402c-b447-fa38ca52fac4 | srv=imd | subsrv=/stela | comp=cygnus-ngsi | op=processNewBatches | msg=com.telefonica.iot.cygnus.sinks.NGSISink[533] : Persistence error. Message: -, Timed out after 30000 ms while waiting for a server that matches PrimaryServerSelector. Client view of cluster state is {type=UNKNOWN, servers=[{address=mongodb:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=null, userName='admin', source='sth_imd', password=<hidden>, mechanismProperties={}}}, caused by {com.mongodb.MongoCommandException: Command failed with error 18: 'Authentication failed.' on server mongodb:27017. The full response is { "ok" : 0.0, "errmsg" : "Authentication failed.", "code" : 18, "codeName" : "AuthenticationFailed" }}}], Stack trace: [com.telefonica.iot.cygnus.sinks.NGSISTHSink.persistOne(NGSISTHSink.java:158), com.telefonica.iot.cygnus.sinks.NGSISTHSink.persistBatch(NGSISTHSink.java:93), com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:523), com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368), org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68), org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147), java.lang.Thread.run(Thread.java:745)]
- time=2018-04-25T16:29:50.498Z | lvl=INFO | corr=cbc36164-48a5-11e8-8cea-0242ac120004 | trans=59a6bb07-f54c-402c-b447-fa38ca52fac4 | srv=imd | subsrv=/stela | comp=cygnus-ngsi | op=doRollback | msg=com.telefonica.iot.cygnus.sinks.NGSISink[580] : Finishing internal transaction (cbc36164-48a5-11e8-8cea-0242ac120004), 0 retries will be done
- time=2018-04-25T16:29:50.505Z | lvl=ERROR | corr=cbc36164-48a5-11e8-8cea-0242ac120004 | trans=59a6bb07-f54c-402c-b447-fa38ca52fac4 | srv=imd | subsrv=/stela | comp=cygnus-ngsi | op=processNewBatches | msg=com.telefonica.iot.cygnus.sinks.NGSISink[533] : Persistence error. Message: -, Timed out after 30000 ms while waiting for a server that matches PrimaryServerSelector. Client view of cluster state is {type=UNKNOWN, servers=[{address=mongodb:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=null, userName='admin', source='sth_imd', password=<hidden>, mechanismProperties={}}}, caused by {com.mongodb.MongoCommandException: Command failed with error 18: 'Authentication failed.' on server mongodb:27017. The full response is { "ok" : 0.0, "errmsg" : "Authentication failed.", "code" : 18, "codeName" : "AuthenticationFailed" }}}], Stack trace: [com.telefonica.iot.cygnus.sinks.NGSIMongoSink.persistAggregation(NGSIMongoSink.java:369), com.telefonica.iot.cygnus.sinks.NGSIMongoSink.persistBatch(NGSIMongoSink.java:116), com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:523), com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368), org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68), org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147), java.lang.Thread.run(Thread.java:745)]
- docker exec -it mongodb mongo localhost -u admin_cygnus -p admin_cygnus --authenticationDatabase cygnus_imd --authenticationMechanism SCRAM-SHA-1
- docker exec -it mongodb mongo localhost -u admin_cygnus -p admin_cygnus --authenticationDatabase admin --authenticationMechanism SCRAM-SHA-1
- db.createUser( { user: "admin_cygnus",
- pwd: "admin_cygnus",
- roles: [ "userAdminAnyDatabase",
- "dbAdminAnyDatabase",
- "readWriteAnyDatabase"
- ] } );
- db.createUser(
- {
- user: "imd",
- pwd: "imd",
- roles: [ "readWrite", "dbAdmin" ]
- }
- )
- docker exec -it mongodb mongo localhost -u imd -p imd --authenticationDatabase cygnus_imd --authenticationMechanism SCRAM-SHA-1
- db.createUser({ user: "cygnus" , pwd: "f10t_Mongo", roles: ["userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase"]})
- Hi,
- Yes, I tried. But I get:
- ```
- 2018-04-26T12:16:19.308+0000 I - [conn59] end connection 172.18.0.4:40780 (1 connection now open)
- 2018-04-26T12:16:19.315+0000 I NETWORK [thread1] connection accepted from 172.18.0.4:40782 #60 (1 connection now open)
- 2018-04-26T12:16:19.318+0000 I ACCESS [conn60] SCRAM-SHA-1 authentication failed for admin_cygnus on cygnus_imd from client 172.18.0.4:40782 ; UserNotFound: Could not find user admin_cygnus@cygnus_imd
- ```
- To make works, I have to access admin database:
- ```
- docker exec -it mongodb mongo localhost -u admin_cygnus -p admin_cygnus --authenticationDatabase cygnus_imd --authenticationMechanism SCRAM-SHA-1
- ```
- And create the user to the database:
- ```
- use cygnus_imd
- db.createUser( { user: "admin_cygnus",
- pwd: "admin_cygnus",
- roles: [ "userAdminAnyDatabase",
- "dbAdminAnyDatabase",
- "readWriteAnyDatabase"
- ] } );
- ```
- I think that the authentication doesn't work with a database empty. But at thee begin, all databases are empties. So I don't know how fix it.
Add Comment
Please, Sign In to add comment