GLOBUS GT3 INSTALLATION HOWTO

footmouthData Management

Dec 16, 2012 (4 years and 8 months ago)

613 views

Page 1 of 6
GLOBUS GT3 INSTALLATION HOWTO

Damian Igbe
Centre for Parallel Computing
Cavendish school of Computer Science
University of Westminster
115 New Cavendish Street, London W1W 6UW
email: testbed-discuss@cpc.wmin.ac.uk


12
th
February 2004
Version 1.0
Abstract. This paper details the step-by-step instructions on how to perform the installations of
Globus Toolkit (GT3). The author combines hand-on experience of installing GT3 along with in-
structions from the Globus website and other installation howtos found on the Internet.
1 Introduction.
This manual describes the experience of installing Globus GT3 on a machine running Red Hat Linux 9.
The Linux installation was performed using the "Database" software selection option so that the re-
quired postgresql software is automatically installed. If this option is not enabled, you will need to
install the postgresql database after the Linux installations.

Two user accounts are needed for the GT3 installation. During Linux installation, you can specify to
create two user accounts; the ‘globus’ user and a user-self. In my own case, the user-self is called ‘ig-
bedo’. In the following instructions, remember to substitute user igbedo with your user-self account.
The installation was performed with user ‘globus’ so that the GT3 installation tree was owned by user
‘globus’.

Do also make sure that the /etc/hosts file and the /etc/sysconfig/network files are properly configured to
reflect your hostname and host map. These are necessary to obtain the security certificates.
1.1 Pre-installation download
Before the installation, a number of different software components were downloaded from various
sources. It’s a good idea to create a directory called /tmp/download to place all the downloaded files.

1. The Apache and Jakarta components can be obtained from the http://www.apache.org/

2. The Java SDK can be obtained from the web site
http://java.sun.com/webapps/download/Display?BundleId=8229&Referer=http://java.sun.com
/j2se/1.4.1/download.html

3. The gt3-src-installer.tar.gz files can be obtained from the http://www.globus.org/

4. The junit3.8.1.zip file can be obtained from http://www.junit.org


All the files are placed in /tmp/download


Page 2 of 6
1. 2 The installation, step-by- step:

1. Log into the machine as “igbedo”

2. Change to user root, change directory to /tmp/download, and run the j2sdk binary file to
unpack its embedded RPM:

$ su -
$ cd /tmp/download
$ sh j2sdk-1_4_1_03-linux-i586-rpm.bin

3. Install the j2sdk RPM:

$ rpm -ivh j2sdk-1_4_1_03-fcs-linux-i586.rpm

4. Unpack Apache Ant, Jakarta Tomcat (optional), and Junit into /usr/local:

$ cd /tmp/download
$ tar zxvf /tmp/download/apache-ant-1.5.4-bin.tar.gz
$ tar zxvf /tmp/download/jakarta-tomcat-4.1.29.tar.gz
$ unzip /tmp/download/junit3.8.1.zip

5. Set up a symbolic link for junit:

$ cd apache-ant-1.5.4/lib
$ ln -s /usr/local/junit3.8.1/junit3.8.1.jar

6. Add the following lines into /etc/profile:

export JAVA_HOME=/usr/java/j2sdk1.4.1_03
export ANT_HOME=/usr/local/apache-ant-1.5.4
export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH

7. Edit the postgresql start script at /etc/init.d/postgresql to include the –o ‘-I’ flag from some-
thing like:

su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl -D $PGDATA -p /usr/bin/postmaster -o '-p
${PGPORT}' start > /dev/null 2>&1" < /dev/null

to

su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl -D $PGDATA -p /usr/bin/postmaster -o '-i -p
${PGPORT}' start > /dev/null 2>&1" < /dev/null

8. Start postgresql. Also, verify that postmaster is running with the "-i" flag, to allow TCP/IP
socket connections:

$ /etc/init.d/postgresql start
$ ps -ef | grep postmaster

9. Set postgresql to run on startup:

$ chkconfig --list postgresql
$ chkconfig postgresql on
$ chkconfig --list postgresql
Page 3 of 6

10. Add a "globus" user to the system and set the password. This is only necessary if user
“globus” was not created during installation:
$ adduser globus
$ passwd globus

11. Create a directory called /usr/local/globus and change the permissions on /usr/local/globus so
that the globus user can write to it:

$ chown globus.globus /usr/local/globus

12. Start a shell as the globus user.

13. As the globus user, unpack the GT3 installer code into /tmp/download/:

$ cd /tmp/download
$ tar zxvf /tmp/download/gt3.0.2-source-installer.tar.gz

14. Install GT3 to /usr/local/globus:

$ cd /tmp/download/gt3.0.2-source-installer
$ ./install-gt3 /usr/local/globus |& tee install.log

15. Optional. Make a backup of the /usr/local/globus directory tree so that it can be used in other
installations:

$ cd /usr/local/globus
$ tar zcvf /tmp/usr-local-globus.tar.gz .

16. As root, add the following lines to /etc/profile:

GLOBUS_LOCATION=/usr/local/globus
export GLOBUS_LOCATION
. $GLOBUS_LOCATION/etc/globus-user-env.sh

17. At this point, reboot the machine to be safe.


18. Install the launcher scripts using ant:

$ cd $GLOBUS_LOCATION
$ ant setup

19. Bring up a shell as root, and set up a symbolic link for xalan.jar:

$ mkdir /usr/java/j2sdk1.4.1_03/jre/lib/endorsed
$ cd /usr/java/j2sdk1.4.1_03/jre/lib/endorsed
$ ln -s /usr/local/globus/endorsed/xalan.jar

20. As root, run the security setup by running setup-gsi. This will setup your initial environment:

$ $GLOBUS_LOCATION/setup/globus/setup-gsi -default

Accept the default responses for the base DN on user and host certificates:
• Hit ‘y’ to continue
• Hit ‘q’ to save values

Page 4 of 6
21. As the "igbedo" user, request a certificate:

$ grid-cert-request –cn “Damian Igbe”

22. As igbedo, save the returned (signed) certificate from CA to the .globus directory.

23. As root, request a host certificate:

$ grid-cert-request -service host -host thoth.cpc.wmin.ac.uk

24. As root, save the signed host certificate from globus to /etc/grid-security/hostcert.pem:

Note: for steps 21- 24, the full instructions can be found in
http://www.cpc.wmin.ac.uk/ogsitestbed/certificates.html


25. As root, su to the postgres user, and enable globus as a Postgresql user:

$ su - postgres
$ createuser globus
Shall the new user be allowed to create databases? (y/n) y
Shall the new user be allowed to create more new users? (y/n) y
CREATE USER
$ exit

26. As globus, run install-gt3-mmjfs:

$ /tmp/download/gt3.0.2-source-installer/install-gt3-mmjfs /usr/local/globus

27. As root, run $GLOBUS_LOCATION/bin/setperms.sh:

$ $GLOBUS_LOCATION/bin/setperms.sh

28. As globus, create the Job Manager database:

$ createdb jobManagerDb
$ psql -d jobManagerDb -f
$GLOBUS_LOCATION/etc/databaseSchema/jm_database_schema.sql

29. As root, su to the postgres user, and edit /var/lib/pgsql/data/pg_hba.conf to have the following
lines:

# TYPE DATABASE IP_ADDRESS MASK AUTH_TYPE AUTH_ARGUMENT
local all trust
host all 127.0.0.1 255.255.255.255 trust
host all 192.168.1.5 255.255.255.0 trust

30. Obtain the user cert subject line and add it to the grid-mapfile:

$ su – igbedo
$ grid-cert-info –subject
$ su –
$ grid-mapfile-add-entry –dn [output from above] -n [local map name]


31. Also as root, create a file called /etc/grid-security/grim-port-type.xml, as follows:

<authorized_port_types>
Page 5 of 6
<port_type user-
name="benkhoo">http://www.globus.org/namespaces/managed_job/managed_job/ManagedJob
PortType</port_type>
</authorized_port_types>

1.3 Testing: So, How is everything, mate?

32. As the “globus” user, start the built-in service container by running ant:

$ cd $GLOBUS_LOCATION
$ . setenv.sh
$ globus-start-container –p 8080

This will start a number of grid services but wait until the output stabilizes before moving on

33. As “igbedo”, obtain a proxy certificate using grid-proxy-init.

34. Change directory to $GLOBUS_LOCATION, and source environment variables via
setenv.sh:

$ cd $GLOBUS_LOCATION
$ . setenv.sh

35. Finally, submit a test job via managed-job-globusrun:

$ managed-job-globusrun -factory
http://127.0.0.1:8080/ogsa/services/base/gram/MasterForkManagedJobFactoryService -file
etc/test.xml
WAITING FOR JOB TO FINISH
========== Status Notification ==========
Job Status: Done
=========================================
DESTROYING SERVICE
SERVICE DESTROYED

36. Set up Grid FTP:

Make sure that the following is in the /etc/services file
gsiftp 2811/tcp # Globus FTP
Create the following as file /etc/xinetd.d/gsiftp

service gsiftp
{
instances = 1000
socket_type = stream
wait = no
user = root
env = LD_LIBRARY_PATH=/usr/local/globus/lib
server = /usr/local/globus/sbin/in.ftpd
server_args = -l -a -G /usr/local/globus
Page 6 of 6
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
disable = no
}

Restart the xinetd service

$ service xinetd restart

NOTE
• You can stop the container by using globus-stop-container

To launch command line jobs, you can look at $GLOUBS_LOCATION/etc/test.xml and mod-
ify the XML file to suit whatever you want to run.

37. The end. If you get this far, many congratulations. We would like to know how long it takes you to
arrive here
☺☺☺
.