MongoDB使用dynamic端口?

我们使用默认端口(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实例使用默认端口,端口必须来自shardsvrconfigsvr运行时。

根据评论来判断…
你最好的办法是检查这些端口是否被副本集使用。

 db.runCommand( { replSetGetStatus : 1 } ) 

使用的端口应显示在输出文档的name部分。