COMP3019 Coursework Help Steve Crouch School of Electronics and Computer Science
Need Help? Coursework resources: – – Some help pointers on page Due handin date: 27 th March 2014 at 4pm
General Look out when using VPNs… – Often a problem when GridSAM connects to a local FTP server (e.g. GridSAM FTP server) If having connecting problems, check & add temporary firewall exception rules for GridSAM/FTP ports 3
Part 1 – M-grid Coursework page mentions we can load text file into applet by packaging it within jar – should we: – Pass single character in as parameter? Or – Pass both character and text file as parameters? The second one… Applet should have two arguments – can pass in character and text file name, or contents of text file – first is neater! 4
Part II – GridSAM and MapReduce Running the remotecat-staging.jsdl example / 2(a) Could not connect to FTP server on "gridsam.lesc.doc.ic.ac.uk ". – Change elements to reflect where your own ftp instance is located – e.g. ost:55521/concat.sh ost:55521/concat.sh
Part II – GridSAM and MapReduce Running the remotecat-staging.jsdl example / 2(a) java.net.MalformedURLException – Copying and pasting from example in slides won’t work, e.g. …the./gridsam.sh command to run example …or just copying the GridSAM URL – Problem is the quotes around “ ridsam?wsdl” “ ridsam?wsdl – Type in manually!
Part II – GridSAM and MapReduce 2(a) $./GridSAMExampleCompile Compiling the GridSAM client example... javac: file not found: GridSAMExample.java Ensure you’ve unpacked the contents of COMP3019- materials.tgz into the omii client directory… and not into a subdirectory of that directory – e.g. download COMP3019- materials.tgz – $ cd gridsam client $ tar -xzf COMP3019- materials.tgz Should have the following in the gridsam client directory after unpacking it: COMP3019-materials.tgz GridSAMClient.class GridSAMExample.class GridSAMExample.java GridSAMExampleCompile GridSAMExampleCompile.bat GridSAMExampleRun GridSAMExampleRun.bat LICENCE.txt MyProxyClient.class SetupGridSAM.class conf demos endorsed examples gridsam.sh lib myproxy.sh
Part II – GridSAM and MapReduce 2(a) Running under Eclipse IDE (probably more hassle, up to you): – Exception in thread "main" org.icenigrid.gridsam.core.SubmissionExce ption: failed to submit job: WSDoAllReceiver: Request does not contain required Security header – Need to include the gridsam client/conf directory on classpath – Look at the GridSAMExampleRun script
Part II – GridSAM and MapReduce 2(a) Exception in thread "main" org.icenigrid.gridsam.core.SubmissionExce ption: failed to submit job: java.net.MalformedURLException: For input string: "port“ – Need to modify the GridSAMExampleRun script to point to the GridSAM service and your client FTP server – Essentially change the ftp.server and gridsam.server properties
Part II – GridSAM and MapReduce 2(a) With GridSAM FTP server: – Exception in thread "main" java.lang.NoClassDefFoundError: Systems Caused by: java.lang.ClassNotFoundException: Systems at java.net.URLClassLoader$1.run(URLClassLoader.java:20 2) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java: 190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) Could not find the main class: Systems. Program will exit. – Install GridSAM to location without spaces in path & filename to avoid this
Part II – GridSAM and MapReduce 2(a) With file staging, make sure you use username/password in ftp sources and targets e.g. Otherwise you may see (after launching job): mymachine:~/gridsam$./gridsam.sh GridSAMStatus -sn me -j urn:gridsam:ff fd3c742012fd3cb098f0001 Job Progress 'urn:gridsam:ff fd3c742012fd3cb098f0001': pending -> staging-in -> failed --- pending :06: job is being scheduled --- staging-in :06: staging files with private working directory failed :08: FileJob failed after retry : 11 times : ftp://localhost:55521/concat.sh 11
Part II – GridSAM and MapReduce 2(b) Pseudocode section doesn't mention a function for getting the job ID of a particular job – You are free to make assumptions on how the primitives work 12