many: we have a processing pipeline with ~10 stages (one C++ program per stage usually), batch processing (almost-)all pairs of files in the dataset. the dataset contains >10K files at the moment, so a couple of hundreds of millions of program executions would be my definition for "many" in this case :-)
I'll start with few machines with deploy scripts and a small subset of the dataset just to get the hang of it. It's a bit difficult to comprehend the stack, with all the possible options and combinations, though. If I have a main Python script that generates all the processing pipeline commands (that can be simply executed via shell), should I use a specific framework (like Hydra)? Or maybe use raw mesos? Or maybe I should write my own framework? On Wed, Jul 23, 2014 at 2:25 PM, Tomas Barton <barton.to...@gmail.com> wrote: > Define many :) If you want to use some provisioning tools like Puppet, > Chef, Ansible... there are quite a few modules to do this job: > > http://mesosphere.io/learn/#tools > > If you have only a few machines, you might be fine with deploy scripts. > > An example of MPI framework is here: > > https://github.com/mesosphere/mesos-hydra > > > > > On 23 July 2014 12:26, Itamar Ostricher <ita...@yowza3d.com> wrote: > >> Thanks Tomas. >> >> ldconfig didn't change anything. make still failed. >> >> But the Debian packaged installed like a charm, so I'm good :-) >> Now I just need to figure out how to use it... >> (going to start with [1], unless anyone chimes in with a better >> recommended starting point for a mesos-newbie who is trying to set up a >> cluster of GCE instances in order to distribute execution of *many* C++ >> programs working on a large dataset that is currently stored in Google >> Cloud Storage.) >> >> [1] http://mesos.apache.org/documentation/latest/deploy-scripts/ >> >> >> On Wed, Jul 23, 2014 at 11:55 AM, Tomas Barton <barton.to...@gmail.com> >> wrote: >> >>> Hi, >>> >>> that's quite strange. Try to run >>> >>> ldconfig >>> >>> and then again make. >>> >>> You can find binary packages for Debian here: >>> http://mesosphere.io/downloads/ >>> >>> Tomas >>> >>> >>> On 23 July 2014 10:09, Itamar Ostricher <ita...@yowza3d.com> wrote: >>> >>>> Hi, >>>> >>>> I'm trying to do a clean build of mesos for the 0.19.0 tarball. >>>> I was following the instructions from >>>> http://mesos.apache.org/gettingstarted/ step by step. Got to running >>>> `make`, which ran for quite a while, and exited with errors (see the end of >>>> the output below). >>>> >>>> Extra env info: I'm trying to do this build on a 64-bit Debian GCE >>>> instance: >>>> itamar@mesos-test-1:/tmp/mesos-0.19.0/build$ uname -a >>>> Linux mesos-test-1 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 GNU/Linux >>>> >>>> Assistance will be much appreciated! >>>> Alternatively, I don't mind using precompiled binaries, if anyone can >>>> point me in the direction of such binaries for the GCE environment I >>>> described :-) >>>> >>>> tail of make output: >>>> ---------------------------- >>>> >>>> libtool: link: warning: >>>> `/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libgflags.la' seems >>>> to be moved >>>> *** Warning: Linking the shared library libmesos.la against the >>>> *** static library ../3rdparty/leveldb/libleveldb.a is not portable! >>>> libtool: link: warning: >>>> `/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libgflags.la' seems >>>> to be moved >>>> libtool: link: g++ -fPIC -DPIC -shared -nostdlib >>>> /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o >>>> /usr/lib/gcc/x86_64-linux-gnu/4.7/crtbeginS.o -Wl,--whole-archive >>>> ./.libs/libmesos_no_3rdparty.a ../3rdparty/libprocess/.libs/libprocess.a >>>> ./.libs/libjava.a -Wl,--no-whole-archive >>>> ../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src/.libs/libprotobuf.a >>>> ../3rdparty/libprocess/3rdparty/glog-0.3.3/.libs/libglog.a >>>> -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib >>>> ../3rdparty/leveldb/libleveldb.a >>>> ../3rdparty/zookeeper-3.4.5/src/c/.libs/libzookeeper_mt.a >>>> /tmp/mesos-0.19.0/build/3rdparty/libprocess/3rdparty/glog-0.3.3/.libs/libglog.a >>>> /usr/lib/libgflags.so -lpthread >>>> /tmp/mesos-0.19.0/build/3rdparty/libprocess/3rdparty/libev-4.15/.libs/libev.a >>>> -lsasl2 /usr/lib/x86_64-linux-gnu/libcurl-nss.so -lz -lrt >>>> -L/usr/lib/gcc/x86_64-linux-gnu/4.7 >>>> -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu >>>> -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu >>>> -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../.. -lstdc++ -lm >>>> -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/4.7/crtendS.o >>>> /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crtn.o >>>> -pthread -Wl,-soname -Wl,libmesos-0.19.0.so -o .libs/ >>>> libmesos-0.19.0.so >>>> libtool: link: (cd ".libs" && rm -f "libmesos.so" && ln -s " >>>> libmesos-0.19.0.so" "libmesos.so") >>>> libtool: link: ( cd ".libs" && rm -f "libmesos.la" && ln -s "../ >>>> libmesos.la" "libmesos.la" ) >>>> g++ -DPACKAGE_NAME=\"mesos\" -DPACKAGE_TARNAME=\"mesos\" >>>> -DPACKAGE_VERSION=\"0.19.0\" -DPACKAGE_STRING=\"mesos\ 0.19.0\" >>>> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"mesos\" >>>> -DVERSION=\"0.19.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 >>>> -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 >>>> -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 >>>> -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_PTHREAD=1 -DMESOS_HAS_JAVA=1 >>>> -DHAVE_PYTHON=\"2.7\" -DMESOS_HAS_PYTHON=1 -DHAVE_LIBZ=1 -DHAVE_LIBCURL=1 >>>> -DHAVE_LIBSASL2=1 -I. -I../../src -Wall -Werror >>>> -DLIBDIR=\"/usr/local/lib\" -DPKGLIBEXECDIR=\"/usr/local/libexec/mesos\" >>>> -DPKGDATADIR=\"/usr/local/share/mesos\" -I../../include >>>> -I../../3rdparty/libprocess/include >>>> -I../../3rdparty/libprocess/3rdparty/stout/include -I../include >>>> -I../3rdparty/libprocess/3rdparty/boost-1.53.0 >>>> -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src >>>> -I../3rdparty/libprocess/3rdparty/picojson-4f93734 >>>> -I../3rdparty/libprocess/3rdparty/glog-0.3.3/src >>>> -I../3rdparty/leveldb/include -I../3rdparty/zookeeper-3.4.5/src/c/include >>>> -I../3rdparty/zookeeper-3.4.5/src/c/generated -pthread -g -g2 -O2 -MT >>>> local/mesos_local-main.o -MD -MP -MF local/.deps/mesos_local-main.Tpo -c -o >>>> local/mesos_local-main.o `test -f 'local/main.cpp' || echo >>>> '../../src/'`local/main.cpp >>>> mv -f local/.deps/mesos_local-main.Tpo local/.deps/mesos_local-main.Po >>>> /bin/bash ../libtool --tag=CXX --mode=link g++ -pthread -g -g2 -O2 >>>> -o mesos-local local/mesos_local-main.o libmesos.la -lsasl2 -lcurl -lz >>>> -lrt >>>> libtool: link: g++ -pthread -g -g2 -O2 -o .libs/mesos-local >>>> local/mesos_local-main.o ./.libs/libmesos.so /usr/lib/libgflags.so >>>> -lpthread -lsasl2 /usr/lib/x86_64-linux-gnu/libcurl-nss.so -lz -lrt >>>> -pthread >>>> ./.libs/libmesos.so: error: undefined reference to 'dlopen' >>>> ./.libs/libmesos.so: error: undefined reference to 'dlsym' >>>> ./.libs/libmesos.so: error: undefined reference to 'dlerror' >>>> collect2: error: ld returned 1 exit status >>>> make[2]: *** [mesos-local] Error 1 >>>> make[2]: Leaving directory `/tmp/mesos-0.19.0/build/src' >>>> make[1]: *** [all] Error 2 >>>> make[1]: Leaving directory `/tmp/mesos-0.19.0/build/src' >>>> make: *** [all-recursive] Error 1 >>>> >>> >>> >> >