Search code examples
ignite

Ignite and Yarn Integration


I am reading through https://apacheignite.readme.io/docs/yarn-deployment. Basically,I got following questions for the present.

  1. It looks to me that this Ignite YARN application is a long running application?
  2. I noticed that ignite-yarn-1.8.0.jar itself doesn't contain any other ignite related classes(such as Ignite core).To run Ignite successfully in the YARN container, will Ignite load the dependent things from the IGNITE_PATH, which points to a an ignite binary release zip file residing on HDFS.. The work flow I guess is: load the zip file, unzip it and load the dependent jars)?

  3. How to work with the Ignite node running in the YARN cluster. When Ignite nodes are running in the YARN containers, how could I connect to the Ignite cluster using Ignite client and do normal operations against this ignite cluster?


Solution

    1. Yes, you are right.
    2. Yes, it's correct. Ignite-yarn integration gets binary from hdfs path which set by IGNITE_PATH property, deploy user libs listed in IGNITE_USERS_LIBS and start Ignite node.
    3. Node which started by ignite-yarn with using by default the following configuration: https://github.com/apache/ignite/blob/master/modules/yarn/src/main/resources/ignite-default-config.xml. You can start client node using this configuration. In general case you need to list ip addresses machine where running yarn in TcpDiscoveryVmIpFinder.

    For example:

    <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">  
      <property name="ipFinder">
        <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
          <property name="addresses">
            <list>
              <!-- Replace with actual host IP address. -->
              <value>10.0.0.1:47500..47510</value>
              <value>10.0.0.2:47500..47510</value>
            </list>
          </property>
        </bean>   
      </property> 
    </bean>
    

    Or you can use own configuration by IGNITE_XML_CONFIG and use another ip finder (for example multicast). item