next up previous
Next: Clean up and troubleshooting Up: How to Install Previous: Building GT3

   
Deploying GT3

Now time for deployment. The deployment process is fairly lengthy. Here are the necessary steps. In these steps I assume version 3.0.1.

1.
Copy the deployment to /usr/local/globus-3.0.1. One way to do this is:
cd /usr/local
sudo chmod 777 . 
sudo su -c "cp -r /l/esysadm/build/[linux,solaris]/globus/3.0.1/deploy/ \
  globus-3.0.1" globus
sudo chmod 755 .

2.
Make a symlink of globus -> globus-3.0.1. Do:
sudo rm /usr/local/globus
sudo ln -s /usr/local/globus-3.0.1 globus

3.
In another window, log in as user globus and run post-installation. Note: An issue here is whether to use `script' or not to record your installation steps. My recommendation is just to open a window of Emacs and be ``faithful'' about copying everything you type in and that is output to a buffer and then saving it as a log. This makes it much easier to use your account and the globus account in collaboration.
globus$ setenv JAVA_HOME /l/j2sdk1.4.2 or JDK1.4.1 as available
globus$ setenv PATH $JAVA_HOME/bin:$PATH
globus$ setenv LD_LIBRARY_PATH /l/gcc322/lib
[linux] globus$ setenv PATH /l/gcc322/bin:$PATH 
[solaris] globus$ setenv PATH \
  /usr/ccs/bin:/l/gcc322/bin:/usr/local/gnu/bin:$PATH
# ANT_HOME should already be set correctly, if not, see above
globus$ echo $ANT_HOME
globus$ which ant
globus$ cd /usr/local/globus-3.0.1/
globus$ setenv GLOBUS_LOCATION `pwd`
globus$ setenv GPT_LOCATION `pwd`
globus$ sbin/gpt-postinstall

4.
Run setup-gsi.
cd /usr/local/globus-3.0.1
export GLOBUS_LOCATION=`pwd`
sudo rm /etc/grid-security/certificates
sudo setup/globus/setup-gsi
cd /etc/grid-security/
sudo rm -rf certificates/
sudo ln -s /l/local/packages/../noarch/globus/certificates
# check grid-mapfile and grim-port-type.xml
sudo ln -s /l/local/packages/../noarch/globus/grid-mapfile
# NOTE: some sites use grid-mapfile+grads
sudo ln -s /l/local/packages/../noarch/globus/grim-port-type.xml
5.
Install MMJFS. Note: before installing MMJFS you must obtain your grid host certificates. See the documentation on certificates for information.
globus$ cd /l/esysadm/build/arch/globus/3.0.1/gt3.0.1-source-installer/
# assuming environment is the same as set up in step 3.
globus$ ./install-gt3-mmjfs /usr/local/globus-3.0.1/
Note: replace arch above with linux or solaris, as appropriate.

6.
Run setperms.sh to set up setuid programs.
# in /usr/local/globus-3.0.1
sudo bin/setperms.sh
7.
With user globus, apply timeout patch. This isn't necessary any more beginning with version 3.0.2. Here I've stored the gar file locally. It's is available from the globus web site.
# in /usr/local/globus-3.0.1, again assuming preexisting
# environment (and for the rest of these instructions).

globus$ ant deploy \
  -Dgar.name=/nobackup/machrist/downloads/ogsa-timeout.gar

# edit client-config.wsdd and add the following under <requestFlow>
<handler type="java:org.globus.ogsa.handlers.TimeOutHandler"/>

globus$ grep -i -A 2 -B 2 timeout client-config.wsdd
globus$ setenv OPTIONS -Dorg.globus.ogsa.client.timeout=120000

Note: the grep command above is useful only for creating a snippet of the change in the file for inclusion in a log file.

8.
Start container.
globus$ source etc/globus-user-env.csh
globus$ bin/globus-start-container [-p port-number]

# Tip: If you're having problems starting it on 8080, run it on a
# different port.

9.
Test MMJFS.
# Setup environment
setenv JAVA_HOME /l/j2sdk1.4.2 or JDK1.4.1 as available
setenv PATH $JAVA_HOME/bin:$PATH
setenv LD_LIBRARY_PATH /l/gcc322/lib
# or setenv LD_LIBRARY_PATH /l/gcc322/lib:$LD_LIBRARY_PATH if it
# is already defined.
[linux] setenv PATH /l/gcc322/bin:$PATH 
[solaris] setenv PATH /usr/ccs/bin:/l/gcc322/bin:/usr/local/gnu/bin:$PATH
# ANT_HOME should already be set correctly
echo $ANT_HOME
which ant
cd /usr/local/globus-3.0.1
source etc/globus-user-env.[c]sh
setenv OPTIONS -Dorg.globus.ogsa.client.timeout=120000
grid-proxy-init
bin/managed-job-globusrun -factory \
http://_host_:_port_/ogsa/services/base/gram/MasterForkManagedJobFactoryService \
-file etc/test.xml    
# on Solaris, you may need to put a link to
# /l/gcc322/lib/libgcc_s.so.1 in $GLOBUS_LOCATION/lib
bin/grid-proxy-destroy

The output you should see is:

WAITING FOR JOB TO FINISH
========== Status Notification ==========
Job Status: Done
=========================================
DESTROYING SERVICE
SERVICE DESTROYED

10.
Simple test of globus-job-run.
grid-proxy-init
globus-job-run [babel,linbox3,etc.] /bin/date
grid-proxy-destroy
It should return a correct date. The machine you give to is should already have globus installed and the gatekeeper running.
11.
Configure gsigatekeeper and gsiftp. There should already be an entry for gsigatekeeper on port 2119 and for gsiftp on port 2811 in /etc/services. To check:
grep gsi /etc/services
If they aren't there, then add those entries. The configuration and testing of these services various by platform. Here are the steps.
12.
Configure globus-mds. Begin by setting up /etc/init.d/rc.host which should already be set up correctly. Issue the following:
# kill slapd
ps -aef | grep slap
sudo kill [pid]
ps -aef | grep slap # make sure it died
sudo /etc/init.d/rc.host start gris
grid-info-search -h `hostname`
The last command should return information on your host, only if you have the appropriate LDAP certs installed. Currently, this won't work on many of our workstations.


next up previous
Next: Clean up and troubleshooting Up: How to Install Previous: Building GT3
Marcus A Christie
2003-12-16