http://www.grid-support.ac.uk http://www.ngs.ac.uk Installing the Clients Guy Warner NeSC, Training Team http://www.nesc.ac.uk/ http://www.pparc.ac.uk/ http://www.eu-egee.org/ Software used in Tutorial • Globus Client Toolkit version 2.4.3 • OGSA-DAI version 5.0 • SRB version 3.2 Induction to Grid Computing and the National Grid Service Overview of Globus Client Toolkit 2.4 Install • • • • • • Will I be able to use the toolkit? What do I need? Where do I get it? Installing the Grid Packaging Tool Installing the Client and SDK packages Configuration Installing GSI enabled SSH Client • Assumed inability to install as root • Also assumed all commands run in same session Induction to Grid Computing and the National Grid Service Will I be able to use the toolkit? • The toolkit is opensource. • The default is for all high numbered available ports to be used for incoming connections. This can be restricted to a defined range. – Range dependent on number of simultaneous running jobs. More jobs = More Incoming Ports needed. • Either: – You are the your firewall administrator, or – You have a very understanding firewall administrator • Extremely problematic if on a network using Network Address Port Translation – for example behind a home ADSL modem/router. Induction to Grid Computing and the National Grid Service What do I need? Where do I get it? (1) • From http://www.globus.org/gt2.4/download.html – gpt version 3.0.1 (grid packaging tool) – All parts of the client binary bundle (globus-all-client2.4.3-i686-pc-linux-gnu-bin.tar.gz) – All parts of the sdk binary bundle (globus-all-sdk2.4.3-i686-pc-linux-gnu-bin.tar.gz) Induction to Grid Computing and the National Grid Service What do I need? Where do I get it? (2) • From http://grid.ncsa.uiuc.edu/ssh/ – GSI enabled Secure Shell (gsi_openssh_bundle-3.5src.tar.gz) • The UK Certificate Authority – Download • http://ca.grid-support.ac.uk/ca/userdocumentation/01621954.0 • http://www.grid-support.ac.uk/ca/userdocumentation/01621954.signing_policy Induction to Grid Computing and the National Grid Service Installing the Grid Packaging Tool • • • • Installing gpt into ~/mygpt export GPT_LOCATION=~/mygpt export LANG= ./build_gpt build_gpt ====> installing GPT into /home/gcw/mygpt build_gpt ====> building support/Compress-Zlib-1.16 build_gpt ====> building support/Archive-Tar-0.22 build_gpt ====> building support/PodParser-1.18 build_gpt ====> building support/Digest-MD5-2.20 build_gpt ====> building packaging_tools Induction to Grid Computing and the National Grid Service Installing the Client package • • • • Installing into ~/myglobus Install using gpt export GLOBUS_LOCATION=~/myglobus $GPT_LOCATION/sbin/gpt-install globus-allclient-2.4.3-i686-pc-linux-gnu-bin.tar.gz • $GPT_LOCATION/sbin/gpt-postinstall • $GLOBUS_LOCATION/setup/globus/setup-gsi -nonroot – Take the default answers and choose “save, configure the GSI and Quit” when prompted. Induction to Grid Computing and the National Grid Service Install the sdk package • $GPT_LOCATION/sbin/gpt-install globus-allsdk-2.4.3-i686-pc-linux-gnu-bin.tar.gz Induction to Grid Computing and the National Grid Service Configuration: Install UK CA certificates • Certificate Authorities are only recognized if their certificates are found within the correct globus folder and have the correct names • Move the certificates to where globus expects the certificates to be: – mv 01621954.* $GLOBUS_LOCATION/share/certificates – if installing as root this is normally /etc/gridsecurity/certificates/ Induction to Grid Computing and the National Grid Service Configuration: Runtime • By default globus expects to be able to receive an incoming connection on any high numbered available port. • The reality is that most sites restrict to use ports 20000 – 25000 • Before running any globus commands type (assuming running in a new session): – export GLOBUS_TCP_PORT_RANGE="20000 25000" – export GLOBUS_LOCATION=~/myglobus – source $GLOBUS_LOCATION/etc/globus-user-env.sh • Don’t forget about modifying any firewalls you are behind. Induction to Grid Computing and the National Grid Service Installing GSI enabled SSH • Check what flavor’s are available (both development and run time versions) • $GPT_LOCATION/sbin/gpt-query globus_gssapi_gsi 4 packages were found in /home/gcw/myglobus/ that matched your query: packages found that matched your query globus_gssapi_gsi-gcc32dbg-dev pkg version: 3.14.0 globus_gssapi_gsi-gcc32dbg-rtl pkg version: 3.14.0 globus_gssapi_gsi-gcc32dbgpthr-dev pkg version: 3.14.0 globus_gssapi_gsi-gcc32dbgpthr-rtl pkg version: 3.14.0 • $GPT_LOCATION/sbin/gpt-build -verbose gsi_openssh_bundle-3.5-src.tar.gz gcc32dbg Induction to Grid Computing and the National Grid Service And Finally …. … check the integrity of your installation • $GPT_LOCATION/sbin/gpt-verify • gsissh –p 2222 grid-data.rl.ac.uk • globus-job-run grid-data.rl.ac.uk/jobmanagerpbs /bin/hostname –f Induction to Grid Computing and the National Grid Service Network Performance Tuning To increase maximum potential networking performance, adjust system max TCP buffer • Add the below text to the file /etc/sysctl.conf, and then run "sysctl -p” # increase TCP max buffer size net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 # increase Linux autotuning TCP buffer limits # min, default, and max number of bytes to use net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 Induction to Grid Computing and the National Grid Service Installing OGSA-DAI 5.0 Induction to Grid Computing and the National Grid Service What you need • OGSA-DAI 5.0: www.ogsadai.org • j2sdk 1.4.2_04 (pre-installed): http://java.sun.com/products/archive/ • Globus Toolkit 3.2.1: http://www-unix.globus.org/toolkit/ downloads/3.2.1/index.html#core • (Optional) A Database (pre-installed) and its associated JDBC driver (see http://www.ogsadai.org/docs/R5/doc/background/supported.html for a list of supported types) • Tomcat (not 5.5) (pre-installed): http://jakarta.apache.org/tomcat • Apache ANT >= 1.5.1 (pre-installed): http://ant.apache.org • HSQL 1.7.: http://hsqldb.sourceforge.net Induction to Grid Computing and the National Grid Service Installation (Text Mode) Follow instructions at http://www.ogsadai.org/docs/R5/doc/ogsi/Install.txt Deploy Globus core first Install OGSA-DAI Does not include deploying any services ant -Dtomcat.dir=%CATALINA_HOME% deployTomcat ant cliInstall Induction to Grid Computing and the National Grid Service Installation (GUI mode) • Follow Instructions at http://www.ogsadai.org/docs/R5/doc/ogsi/InstallGUI.html • ant guiInstall Induction to Grid Computing and the National Grid Service Test the Installation • Copy hsqldb.jar to drivers folder • ant guiDeployTestFactory • ant cliTestFactory – Check the default port number • ant guiUndeployService – Specify the service path as ogsadai/TestGDSF Induction to Grid Computing and the National Grid Service Deploy DAI Service Group Registry ant guiDeployRegistry Induction to Grid Computing and the National Grid Service Deploy Grid Data Service Factory • Database must be running and suitably configured to accept connections. • See http://www.ogsadai.org/docs/R5/doc/dbs/index.html for details on setting up a test database. • Copy appropriate JDBC driver to drivers folder Induction to Grid Computing and the National Grid Service Associate Factory with Registry • Use the provided java class uk.org.ogsadai.client.registrar.cli.AddServiceClient • See http://www.ogsadai.org/docs/R5/doc/ogsi/clients/AddService. html • The following association is created in the tutorials in the OGSA-DAI startup script: java uk.org.ogsadai.client.registrar.cli.AddServiceClient -r http://localhost:8080/ogsa/services/ogsadai/DAISGR -s http://pub-234:8080/ogsa/services/ogsadai/PostgresGDSF Induction to Grid Computing and the National Grid Service ogsadai_env.sh export GLOBUS_LOCATION=/usr/local/globus3 echo "GLOBUS_LOCATION=$GLOBUS_LOCATION" export CATALINA_HOME=/usr/local/tomcat echo "CATALINA_HOME=$CATALINA_HOME" source $GLOBUS_LOCATION/etc/globus-user-env.sh echo "Sourced $GLOBUS_LOCATION/etc/globus-userenv.sh" echo "Building CLASSPATH" # The next section of code is a modified version of the ogsadai setenv.sh # script (the value of OGSA_DAI_HOME needed changing) # the jars from the tomcat common dir DIRLIBS=${CATALINA_HOME}/common/lib/*.jar for i in ${DIRLIBS} do # if the directory is empty, then it will return the input string # this is stupid, so case for it if [ "$i" != "${DIRLIBS}" ] ; then CLASSPATH="$i":$CLASSPATH echo -n "." fi done OGSA_DAI_HOME=/usr/local/ogsadai export OGSA_DAI_HOME DIRLIBS=${OGSA_DAI_HOME}/lib/*.jar for i in ${DIRLIBS} do # if the directory is empty, then it will return the input string # this is stupid, so case for it if [ "$i" != "${DIRLIBS}" ] ; then if [ -z "$CLASSPATH" ] ; then CLASSPATH=$i else CLASSPATH="$i":$CLASSPATH fi echo -n "." fi done CLASSPATH=${CATALINA_HOME}/webapps/ogsa/WEB -INF/client-config.wsdd:$CLASSPATH echo -n "." export CLASSPATH echo " Done" # end of ogsadai setenv.sh Induction to Grid Computing and the National Grid Service ogsadai_startup.sh #!/bin/sh # This script starts up tomcat and then creates the necessary associations # between registries and factories # Created by gcw 26 May 05 OGSA_DAI_HOME=/usr/local/ogsadai REGISTRY=http://localhost:8080/ogsa/services/ogsadai/DAISGR FACTORY=http://pub234:8080/ogsa/services/ogsadai/PostgresGDSF source $OGSA_DAI_HOME/etc/ogsadai_env.sh > /dev/null sudo -u tomcat $CATALINA_HOME/bin/startup.sh > /dev/null java uk.org.ogsadai.client.registrar.cli.AddServiceClient –r $REGISTRY –s $FACTORY > /dev/null Induction to Grid Computing and the National Grid Service SRB • http://www.sdsc.edu/srb/ • NGS currently using version 3.2 • Need to request decryption key • The client only source download will not work (no GSI) Induction to Grid Computing and the National Grid Service The Scommands • To just install the GSI enabled Scommands: – ./configure --enable-gsi-auth --enable-globuslocation=/usr/local/globus – make client – make util – Install the resultant binaries and manual pages by hand Induction to Grid Computing and the National Grid Service