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 <voze...@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.al...@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. > > >