Search code examples
ignite

Failing to connect Apache Ignite Cluster


I created ignite cluster in AWS by following steps from the blog (https://www.gridgain.com/docs/8.7.6//installation-guide/manual-install-on-ec2), now I am trying to connect using java client from local PC which is failing to connect. not sure why I am unable to connect.

Error:-

Exception in thread "main" org.apache.ignite.client.ClientConnectionException: Ignite cluster is unavailable
Caused by: java.net.ConnectException: Connection refused (Connection refused)
package com.ignite.examples.igniteStartup

import org.apache.ignite.Ignite
import org.apache.ignite.IgniteCache
import org.apache.ignite.Ignition
import org.apache.ignite.configuration.{ClientConfiguration, IgniteConfiguration}
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder
import org.apache.ignite.configuration.IgniteConfiguration
import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder
import java.util.Arrays
import java.util.List
import com.ignite.examples.model.Address
import org.apache.ignite.client.{ClientCache, IgniteClient}

import scala.collection.JavaConversions._

object IgniteClientConnection {
  def main(args: Array[String]): Unit = {

    System.out.println()
    System.out.println(">>> Thin client put-get example started.")

    val spi = new TcpDiscoverySpi
    val ipFinder = new TcpDiscoveryVmIpFinder
    val hostList: List[String] = Arrays.asList(("ec2-100-25-173-220:47100..47600," +
      "ec2-100-25-173-220.compute-1.amazonaws.com:47100..47600," +
      "3.86.250.240:47100..47600," +
      "172.31.81.211:47100..47600," +
      "100.25.173.220:47100..47600").split(","): _*)


    System.out.println(">>> I am here.")

    val cfg2 = new ClientConfiguration().setAddresses("100.25.173.220:47100..47700")
    val igniteClient:IgniteClient = Ignition.startClient(cfg2)
    val CACHE_NAME = "put-get-example";
    //val cache:ClientCache[Integer, Address] = igniteClient.getOrCreateCache(CACHE_NAME)

    System.out.format(">>> Created cache [%s].\n", CACHE_NAME)

    //ipFinder.setAddresses(hostList)
    //spi.setIpFinder(ipFinder)
    //val cfg = new IgniteConfiguration
    //cfg.setDiscoverySpi(spi)
    //cfg.setClientMode(true)
    //cfg.setPeerClassLoadingEnabled(true)

    //val ignite: Ignite = Ignition.start(cfg)
    //Ignition.ignite().cache("test")
    //LOG.info(">>> cache acquired")


  }

}

Thanks Sri


Solution

  • You specified the following ports as the endpoints for the Java thin client: 47100..47700, but thin clients work over the port 10800 by default.

    Change the port to the correct one and make sure it's open on AWS.