ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vladimir Ozerov <voze...@gridgain.com>
Subject Re: Small how to for Mesos + Ignite + Java
Date Fri, 15 Apr 2016 13:25:50 GMT
Hi,
Thank you for such deep and thorough analysis. I think we definitely
reflect your findings in our documentation.

Nick,
Provided that you worked on Mesos integration, could you please see, how we
can integrate this into our docs?

Vladimir.

On Fri, Apr 15, 2016 at 1:42 AM, lpalbou <laurent.albou@genognose.org>
wrote:

> Hi everyone,
>
> I have been testing recently Mesos and Apache Ignite. Some problems were
> not
> documented and I sometimes had to look at some java sources.
>
> So this is a very small guide to help you launch Ignite nodes from Mesos
> and
> access these nodes with Java.
>
> A) First, to install Mesos, I would advise to consult this tutorial which
> is
> easy to follow:
>
> https://www.digitalocean.com/community/tutorials/how-to-configure-a-production-ready-mesosphere-cluster-on-ubuntu-14-04
>
> B) Then, to create a Mesos framework/application to launch your Ignite
> nodes, you can refer to this tutorial:
> http://apacheignite.gridgain.org/docs/mesos-deployment
>
> For those having a "Got unexpected response code 404" exception in /stderr/
> of a Mesos node sandbox after launching the application through
> curl/marathon (step 3 of tutorial B) ), it basically says it can't download
> the ignite-mesos.jar. I had this problem and edited the marathon.json (or
> whatever the name you choose) to change the IGNITE_VERSION parameter
> previously set to 1.0.5. I first changed it to "latest" and everything was
> ok until I triedto access these nodes with Java (see after). For now, set
> IGNITE_VERSION to "1.5.9".
>
> By now, your Ignite nodes should now launch correctly on Mesos and you
> should see something similar to tutorial B) steps 5-7.
>
> Now let's try to access those Ignite nodes launched by Mesos with a small
> Java application. At first, it did not work at all. If you try something
> like bin/ignite.sh, it will create a new cluster independant of the one
> created by Mesos. So you have to setup the proper configuration. And there,
> I did not find any tutorial or information on Google. So here is what I
> did:
>
> 1) ssh to a Mesos node running ignite
> 2) ps -aux | grep ignite (to see the parameters used for launching these
> ignite nodes)
> 3) the spring configuration file by default was "ignite-default-config.xml"
> 4) reproduce this configuration inside the java application with the
> IgniteConfiguration class (see below)
> 5) it was not working. Looking at the Java exception, I discovered my java
> app was using a different version of Ignite than Mesos (?!). Indeed,
> although the latest stable version of Ignite is 1.5.0 on the download page
> (https://ignite.apache.org/download.cgi#binaries), when using "latest" for
> the field IGNITE_VERSION in the marathon.json file, it actually downloaded
> and launched the version 1.5.9 (FWY, set IGNITE_VERSION to "1.5.9" to avoid
> such mistake). I retrieve those jar from the Mesos slave nodes (look in
> /tmp/mesos/slaves/.../latest/) and use them as libraries in my Java app
> 5) but it was still not working !? "Failed to connect to any address from
> IP
> finder (will retry to join topology every 2 secs)". To make a long story
> short, you have to provide to your IpFinder some IP addresses of your Mesos
> slave nodes... and it worked !
>
>
> *Here is a very small Java code to help you connect to your Mesos Ignite
> nodes:*
>
> Collection<String> addr = new ArrayList();
> addr.add("X.X.X.X"); // replace this by IP addresses of ignite nodes
> addr.add("X.X.X.X"); // replace this by IP addresses of ignite nodes
>
> TcpDiscoveryVmIpFinder tcpvm = new TcpDiscoveryVmIpFinder();
> tcpvm.setAddresses(addr);
>
> TcpDiscoverySpi dspi = new TcpDiscoverySpi();
> dspi.setIpFinder(tcpvm);
> dspi.setJoinTimeout(60000);
>
> IgniteConfiguration cfg = new IgniteConfiguration();
> cfg.setDiscoverySpi(dspi);
> cfg.setClientMode(true);
>
> Ignite ignite = Ignition.start(cfg);
>
>
> I hope this will be of some use to some of you.
> Bests,
> LPA
>
>
>
> --
> View this message in context:
> http://apache-ignite-developers.2346864.n4.nabble.com/Small-how-to-for-Mesos-Ignite-Java-tp8467.html
> Sent from the Apache Ignite Developers mailing list archive at Nabble.com.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message