我们使用默认端口(27017)在Windows上使用MongoDB副本。
我们的服务器都在防火墙之后,我们要configuration防火墙只允许打开默认的端口。
但是,在查看netstat时,我们看到使用了以下端口:
[mongod.exe] TCP 0.0.0.0:27017 SERVER-NAME:0 LISTENING [mongod.exe] TCP 0.0.0.0:47001 SERVER-NAME:0 LISTENING
为什么mongo起诉dynamic端口47001? 我们必须打开防火墙上的dynamic端口(除了默认的27017)以允许其他服务器访问它。
为什么mongo需要dynamic端口? 我可以至less强迫它使用预先configuration的端口?
谢谢!
看到我们如何看到mongo实例使用默认端口,端口必须来自shardsvr或configsvr运行时。
根据评论来判断…
你最好的办法是检查这些端口是否被副本集使用。
db.runCommand( { replSetGetStatus : 1 } )
使用的端口应显示在输出文档的name部分。