Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.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
MongoDB副本集安装程序正在给出-SocketException:无法分配请求的地址_Mongodb - Fatal编程技术网

MongoDB副本集安装程序正在给出-SocketException:无法分配请求的地址

MongoDB副本集安装程序正在给出-SocketException:无法分配请求的地址,mongodb,Mongodb,我正在尝试设置一个MongoDB副本集,启动服务器时出现以下错误 MongoDB版本是4.0.2,我正试图安装在ubuntu18.04 2018-11-03T14:17:21.463+0000 I CONTROL [initandlisten] allocator: tcmalloc 2018-11-03T14:17:21.463+0000 I CONTROL [initandlisten] modules: none 2018-11-03T14:17:21.463+0000 I CONTR

我正在尝试设置一个
MongoDB副本集
,启动服务器时出现以下错误

MongoDB
版本是
4.0.2
,我正试图安装在
ubuntu18.04

2018-11-03T14:17:21.463+0000 I CONTROL  [initandlisten] allocator: tcmalloc
2018-11-03T14:17:21.463+0000 I CONTROL  [initandlisten] modules: none
2018-11-03T14:17:21.463+0000 I CONTROL  [initandlisten] build environment:
2018-11-03T14:17:21.463+0000 I CONTROL  [initandlisten]     distmod: ubuntu1804
2018-11-03T14:17:21.463+0000 I CONTROL  [initandlisten]     distarch: x86_64
2018-11-03T14:17:21.463+0000 I CONTROL  [initandlisten]     target_arch: x86_64
2018-11-03T14:17:21.463+0000 I CONTROL  [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1,dbtwo.example.net,dbthree.example.net", port: 27017 }, processManagement: { timeZoneInfo: "/usr/share/zoneinfo" }, replication: { replSetName: "rs0" }, security: { keyFile: "/opt/mongo/key1" }, storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2018-11-03T14:17:21.477+0000 E STORAGE  [initandlisten] Failed to set up listener: SocketException: Cannot assign requested address
2018-11-03T14:17:21.477+0000 I CONTROL  [initandlisten] now exiting
2018-11-03T14:17:21.477+0000 I CONTROL  [initandlisten] shutting down with code:48

如何解决此问题?

您需要使用运行mongodb的同一实例/vm的ip或主机名设置绑定ip

例如:

  • 在vm1上:bindIp:192.168.10.12
  • 在vm2上:bindIp:192.168.10.13
  • 在vm3上:bindIp:192.168.10.14
但是,请注意,将bindIp设置为127.0.0.1将只绑定到本地环回ip,并且无法从运行在其他VM上的服务器访问


您需要将它们与适当的内部ip或可解析主机名绑定。

检查该端口上是否有任何东西正在运行,然后将其杀死?或者您正在AWS实例上运行它,可能需要使用admin并关闭服务器?它是否能够解析以下主机名:dbtwo.example.net、dbthree.example.net?这些主机名解析为什么?为什么要将运行此mongodb进程的其他mongodb实例的IP绑定到此mongod进程?不,您可以使用它们各自的IP绑定到它们自己的配置中。您正在尝试将其与其他vm的主机名绑定,这不是必需的,也不应该执行。哦,好的,所以我会像VM1:bindIp:dbone.example.net一样设置它VM2:bindIp:dbtwo.example.net VM3:bindIp:dbthree.example.net正确吗?在VM1上bindIp:dbone.example.net,在VM2上bindIp=dtwo.example.net等等,谢谢。我将测试它,并再次询问我是否有问题。