Apache zookeeper 如何限制zookeepers端口范围以输入连接

Apache zookeeper 如何限制zookeepers端口范围以输入连接,apache-zookeeper,Apache Zookeeper,我们的平台上有两个服务存在端口冲突。 其中一个服务正在侦听端口45454,另一个服务是zookeeper服务器 当侦听端口45454的服务重新启动,然后zookeeper接受连接并使用相同的tcp端口45454时,就会出现问题 有没有办法限制zookeeper可以使用哪些端口?或者我们应该将侦听端口454的服务更改为另一个(较低的)端口吗 我环顾四周,试图用谷歌搜索一个解决方案,但到目前为止,我在找到一个解决方案方面惨遭失败 谢谢,要清除连接客户端>服务器,服务器上需要一个侦听端口,客户端需要一

我们的平台上有两个服务存在端口冲突。 其中一个服务正在侦听端口45454,另一个服务是zookeeper服务器

当侦听端口45454的服务重新启动,然后zookeeper接受连接并使用相同的tcp端口45454时,就会出现问题

有没有办法限制zookeeper可以使用哪些端口?或者我们应该将侦听端口454的服务更改为另一个(较低的)端口吗

我环顾四周,试图用谷歌搜索一个解决方案,但到目前为止,我在找到一个解决方案方面惨遭失败


谢谢,

要清除连接客户端>服务器,服务器上需要一个侦听端口,客户端需要一个随机临时端口。接受连接不需要额外的端口

Zookeeper在
2181
上监听(默认)客户端,在
2888
3888
上监听内部通信,无冲突。zookeeper最有可能使用临时端口在本地建立到另一个节点的连接

临时端口由内核在systctl参数范围内随机给定。我的当前值是从32768到60999

解决方案

  • 降低冲突服务的端口号
  • 将冲突端口号添加为保留端口号(不由临时用户使用)——

  • 更改临时端口范围

    # my linux default is from 32768 to 60999
    sysctl -w net.ipv4.ip_local_port_range="45455 60999"
    

  • 没关系,但是如何将其绑定到特定接口?默认情况下,它绑定到0.0.0.0,这将向世界公开端口。我很乐意让它只在内部网络上收听。
    # my linux default is from 32768 to 60999
    sysctl -w net.ipv4.ip_local_port_range="45455 60999"