ignite通信临时端口范围列表是什么?

laawzig2  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(403)

我们在机器上有一个主动防火墙和多个ignite服务器以提高可用性,但同时我们不能保持所有端口都打开。我阅读了多篇关于apacheignite用户的博客和电子邮件[1],以了解在ignite节点之间使用哪些端口来建立和保持连接。
我的点火Spring配置

@Bean
public Ignite igniteInstance(JdbcIpFinderDialect ipFinderDialect, DataSource dataSource) {
  IgniteConfiguration cfg = new IgniteConfiguration();
  cfg.setGridLogger(new Slf4jLogger());
  cfg.setMetricsLogFrequency(0);
  TcpDiscoverySpi discoSpi = new TcpDiscoverySpi()
      .setIpFinder(new TcpDiscoveryJdbcIpFinder(ipFinderDialect).setDataSource(dataSource)
          .setInitSchema(initialiseIgniteSchema))
          .setLocalPort(51000)
          .setLocalPortRange(100);
  cfg.setDiscoverySpi(discoSpi);
  cfg.setCacheConfiguration(cacheConfigurations.toArray(new CacheConfiguration[0]));
  cfg.setFailureHandler(igniteFailureHandler);
  return Ignition.start(cfg);
}

这样我就指定了发现端口[51000]和范围[100],但是当我运行 netstat 要查看两个节点上的连接,但注意到随机临时端口范围,这些端口是什么[20353],[59856],是否缺少设置范围的可配置选项? [user@machine ~]$ netstat -aon | grep 51000 | grep ES headerh2h2tcp00...host1:510000.0.0.0:*listenoff(0.00/0/0)tcp00...host1:59856...host2:51000已建立Off(0.00/0/0)tcp00..host1:51000..host2:20352已建立KeepAlive(6007.95/0)
热释光;博士
我有2个ignite服务器在系统中共享一个缓存
由于安全实施,我们必须关闭所有端口,除非使用
ignite服务器在随机临时端口范围内建立连接
有没有办法限制这个范围?

0ve6wy6x

0ve6wy6x1#

您可以更改ignite用来监听的端口。您已经更改了发现端口。至少,您还需要更改通信spi端口(默认情况下为47100),并可能禁用jmx(从 -nojmx 标志)。
使用默认实现,无法配置传出连接的端口。这是一个非常不寻常的要求。您可以构建自己的绑定到特定端口(而不是零端口)的发现spi,这需要构建默认实现并重写 TcpDiscoverySpi#createSocket() 方法。

相关问题