ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nikolay Tikhonov <ntikho...@gridgain.com>
Subject Re: Small how to for Mesos + Ignite + Java
Date Fri, 15 Apr 2016 13:36:21 GMT
Hi,
Thank you for efforts and feedback!

Vova,
I'll change our documentation that points will be more clear.

On Fri, Apr 15, 2016 at 4:25 PM, Vladimir Ozerov <vozerov@gridgain.com>
wrote:

> 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