No problem, thanks for taking the time and sharing the issue. We'll update the docs. Good luck with your Ignite deployment!
- Denis On Fri, Apr 19, 2019 at 10:32 PM relax ken <[email protected]> wrote: > Great! Thanks Denis! that's the issue. After I configured it in security > group, it works > > On Sat, Apr 20, 2019 at 6:03 AM Denis Magda <[email protected]> wrote: > >> By default, each node will be connecting to port 47500 and the next 100 >> ports if nobody responds on 45700, 457001, etc. >> >> Please check that the port is opened. Alternatively, you can always >> manage the port with TcpDiscoverySpi.setLocalPort [1]. The ports range can >> be adjusted as well. [2] >> >> [1] >> https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java#L771 >> [2] >> https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java#L782 >> >> - >> Denis >> >> >> On Fri, Apr 19, 2019 at 9:38 PM relax ken <[email protected]> wrote: >> >>> I don't think both nodes joined the cluster. That is the problem. I >>> don't know what it's wrong and why they are not in the cluster. They are in >>> the same subnet,. They can talk to each other. They found each other's IP. >>> >>> What port does ignite use for cluster joining? It may be security group >>> issue. Will ignite throw exception or log warning if they can't join the >>> cluster? >>> >>> Thanks >>> >>> On Sat, 20 Apr 2019, 05:50 Denis Magda, <[email protected]> wrote: >>> >>>> Hi, >>>> >>>> Could you confirm that both nodes on AWS joined the cluster? Data will >>>> be rebalanced between the nodes once you see 2 server nodes in your cluster >>>> topology. Might be some networking issue. >>>> >>>> - >>>> Denis >>>> >>>> >>>> On Tue, Apr 16, 2019 at 9:53 AM relax ken <[email protected]> wrote: >>>> >>>>> Hi, >>>>> >>>>> I wrote an aws ELB based tcp discovery ip finder. When I launched two >>>>> ec2 nodes in the same target group, the ip finder found node IPs >>>>> correctly. >>>>> However, affinity recalculation wasn't triggered. Basically nothing >>>>> happened. also no exception. If I ran two nodes locally with multicast, >>>>> affinity recalculation worked properly. I just wonder what else I need >>>>> to do to make the custom IP finder works? >>>>> >>>>> Here is the overrided method in IPFinder. Basically it just is a >>>>> slightly modified version of TcpDiscoveryElbIpFinder >>>>> >>>>> @Override public Collection<InetSocketAddress> getRegisteredAddresses() >>>>> throws IgniteSpiException { >>>>> initClients(); >>>>> >>>>> logger.debug("elb host discovery"); >>>>> List<String> privateIPs = >>>>> awsService.getHealthyPrivateIPsFromTarget(targetGroupArn); >>>>> List<InetSocketAddress> addrs = new ArrayList<>(); >>>>> >>>>> for (String privateIP : privateIPs) { >>>>> logger.debug("tcp discovery. found host "+privateIP); >>>>> addrs.add(new InetSocketAddress(privateIP, 0)); >>>>> } >>>>> >>>>> return addrs; >>>>> } >>>>> >>>>> @Override public void registerAddresses(Collection<InetSocketAddress> >>>>> addrs) throws IgniteSpiException { >>>>> //No-op, ELB will take care of registration. >>>>> } >>>>> >>>>> @Override public void unregisterAddresses(Collection<InetSocketAddress> >>>>> addrs) throws IgniteSpiException { >>>>> // No-op, ELB will take care of this process. >>>>> } >>>>> >>>>> And here is the ignite config setting >>>>> >>>>> TcpDiscoverySpi spi = new TcpDiscoverySpi(); >>>>> >>>>> spi.setIpFinder(getTcpELBIpFinder(elbDiscoveryConfig)); >>>>> >>>>> IgniteConfiguration igniteConfig = new IgniteConfiguration(); >>>>> igniteConfig.setMetricsLogFrequency(0); >>>>> igniteConfig.setDiscoverySpi(spi); >>>>> DataStorageConfiguration storageCfg = new DataStorageConfiguration(); >>>>> storageCfg.getDefaultDataRegionConfiguration().setPersistenceEnabled(false); >>>>> igniteConfig.setDataStorageConfiguration(storageCfg); >>>>> >>>>> Any ideas? >>>>> >>>>> >>>>> Thanks >>>>> >>>>> >>>>> Ken >>>>> >>>>>
