Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Mongodb replicaset身份验证从spring启动失败_Java_Mongodb_Spring Boot_Spring Data Mongodb_Replicaset - Fatal编程技术网

Java Mongodb replicaset身份验证从spring启动失败

Java Mongodb replicaset身份验证从spring启动失败,java,mongodb,spring-boot,spring-data-mongodb,replicaset,Java,Mongodb,Spring Boot,Spring Data Mongodb,Replicaset,我有3个mongodb复制集实例,包括3个不同ec2实例中的1个仲裁器。从mongo控制台,我可以连接到副本集。 但当我尝试在主ec2实例中构建/部署停靠的spring boot应用程序时,它给出了以下异常 Caused by: org.springframework.data.mongodb.UncategorizedMongoDbException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userNam

我有3个mongodb复制集实例,包括3个不同ec2实例中的1个仲裁器。从mongo控制台,我可以连接到副本集。 但当我尝试在主ec2实例中构建/部署停靠的spring boot应用程序时,它给出了以下异常

Caused by: org.springframework.data.mongodb.UncategorizedMongoDbException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='<usrName>', source='<source>', password=<hidden>, mechanismProperties=<hidden>}; nested exception is com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='<usrName>', source='<source>', password=<hidden>, mechanismProperties=<hidden>}
Caused by: com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='<usrName>', source='<source>', password=<hidden>, mechanismProperties=<hidden>}
Caused by: com.mongodb.MongoCommandException: Command failed with error 18 (AuthenticationFailed): 'Authentication failed.' on server <Primary-Host>:27017. The full response is {"operationTime": {"$timestamp": {"t": 1601217500, "i": 1}}, "ok": 0.0, "errmsg": "Authentication failed.", "code": 18, "codeName": "AuthenticationFailed", "$clusterTime": {"clusterTime": {"$timestamp": {"t": 1601217500, "i": 1}}, "signature": {"hash": {"$binary": {"base64": "KSwBAZHnhcqmjdsAy9HHVB8+yZQ=", "subType": "00"}}, "keyId": 6876114453302083588}}}
由以下原因引起:org.springframework.data.mongodb.uncategorizedmongodbeexception:验证MongoCredential的异常{mechanism=SCRAM-SHA-1,用户名=“”,源=“”,密码=,mechanismProperties=};嵌套异常为com.mongodb.MongoSecurityException:MongoCredential{mechanism=SCRAM-SHA-1,userName='',source='',password=,mechanismProperties=}
导致原因:com.mongodb.MongoSecurityException:验证MongoCredential{mechanism=SCRAM-SHA-1,用户名='',源='',密码=,mechanismProperties=}的异常
原因:com.mongodb.MongoCommandException:命令失败,错误为18(AuthenticationFailed):“身份验证失败”。服务器:27017。完整响应是{“operationTime”:{“$timestamp”:{“t”:1601217500,“i”:1},“ok”:0.0,“errmsg”:“身份验证失败”,“code”:18,“codeName”:“身份验证失败”,“$clusterTime”:{“clusterTime”:{“$timestamp”:{“t”:1601217500,“i”:1},“签名”:{“hash”:{“$binary”:{“base64”:“WBAzhNHHCJD9HHVB8+yZQ=”,“subType”:“00”},“keyId”:687611445330083588}}
连接到replicaset时使用的Spring数据mongodb属性

spring.data.mongodb.uri=mongodb://<usrName>:<password>@<host-primary>:27017,<host-secondary>:27017/<dbName>?<replicaset name>
spring.data.mongodb.auto-index-creation = true
spring.data.mongodb.uri=mongodb:/:@:27017,:27017/?
spring.data.mongodb.auto-index-creation=true
其中,当我尝试使用以下属性(即单节点连接)构建/部署时,这将获得成功

spring.data.mongodb.host=<Primary-Host>
spring.data.mongodb.port=27017
spring.data.mongodb.database=<database name>
spring.data.mongodb.authentication-database=admin
spring.data.mongodb.username=<user name>
spring.data.mongodb.password=<password>
spring.data.mongodb.auto-index-creation = true
spring.data.mongodb.host=
spring.data.mongodb.port=27017
spring.data.mongodb.database=
spring.data.mongodb.authentication database=admin
spring.data.mongodb.username=
spring.data.mongodb.password=
spring.data.mongodb.auto-index-creation=true

用户名或密码是否包含at符号@、冒号:、斜杠/或百分号%字符

如果是,请检查您使用的编码是否正确

还可以尝试在uri中添加
authSource
,如下所示:


?authSource=admin&replicset=myRepl

用户名或密码是否包含at符号@、冒号:、斜杠/或百分号%字符

如果是,请检查您使用的编码是否正确

还可以尝试在uri中添加
authSource
,如下所示:


?authSource=admin&replicset=myRepl

密码和用户名很好。将尝试使用authSource
authSource=admin
完成此技巧。非常感谢@WASIM AKRAM KHANPassword和用户名。将尝试使用authSource
authSource=admin
完成此技巧。非常感谢@WASIM AKRA姆汗