Installing the Clients Guy Warner NeSC, Training Team

advertisement
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
• MyProxy 3.0
• CoG Kit 1.2
• 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/toolkit/downloads/2.4.3/
– 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 MyProxy Clients
Induction to Grid Computing and the National Grid Service
MyProxy (1)
• http://grid.ncsa.uiuc.edu/myproxy/download.html.
• Install client only
– Easier maintenance
– Server component not needed
– Documented method not used
• To build:
– ./configure --with-flavor=gcc32dbg
– make
– Don’t run “make install”!
Induction to Grid Computing and the National Grid Service
MyProxy (2)
• To install:
– mkdir /usr/local/myproxy-3.0
– ln -s /usr/local/myproxy-3.0 /usr/local/myproxy
– mkdir /usr/local/myproxy/bin /usr/local/myproxy/lib
/usr/local/myproxy/man /usr/local/myproxy/man/man1
– cp myproxy-change-pass-phrase myproxy-destroy myproxy-getdelegation myproxy-info myproxy-init myproxy-retrieve myproxystore /usr/local/myproxy/bin/
– cp lib* /usr/local/myproxy/lib
– cd ../man
– cp *.1 /usr/local/myproxy/man/man1/
Induction to Grid Computing and the National Grid Service
MyProxy (3)
• Users need the following environment variables to
be set:
– export MYPROXY_HOME=/usr/local/myproxy
– export LD_LIBRARY_PATH=${MYPROXY_HOME}/lib
– export MYPROXY_SERVER=myproxy.grid-support.ac.uk
Induction to Grid Computing and the National Grid Service
The CoG Kit
Induction to Grid Computing and the National Grid Service
CoG Kit (1)
• Download from
http://www-unix.globus.org/cog/java/1.2/.
• Uncompressing this archive to /usr/local/cog-1.2
with a symbolic link from /usr/local/cog.
• Wrapper scripts (found in “bin”) to the java
classes are not used.
– Users environment is not set
– Classpath needed
– One time (per session) script used instead.
Induction to Grid Computing and the National Grid Service
Cog Kit (2)
/usr/local/cog/etc/setenv.sh
echo -n "Creating CLASSPATH "
DIRLIBS=${COG_INSTALL_PATH}/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=${COG_INSTALL_PATH}/et
c:$CLASSPATH
echo -n "."
CLASSPATH=.:$CLASSPATH
echo -n "."
export CLASSPATH
echo "Done"
Induction to Grid Computing and the National Grid Service
CoG Kit (3)
• CoG Kit does not honour $GLOBUS_TCP_PORT_RANGE
/usr/local/bin/mk.cog.properties
#!/bin/sh
COGFILE=$HOME/.globus/cog.properties
if [ -e $COGFILE ]; then
echo $COGFILE already exists. Aborting.
exit
fi
echo usercert=$HOME/.globus/usercert.pem > $COGFILE
echo userkey=$HOME/.globus/userkey.pem >> $COGFILE
echo proxy=/tmp/x509up_u$UID >> $COGFILE
echo cacert=/etc/grid-security/certificates/01621954.0 >> $COGFILE
echo tcp.port.range=20000,25000 >> $COGFILE
echo Generated $COGFILE
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
Further help
http://homepages.nesc.ac.uk/~gcw/NGS/UI.html
Induction to Grid Computing and the National Grid Service
Forthcoming Event
• Installing a User Interface for the National Grid
Service
• 16 January, 06 09:00 AM –
17 January, 06 04:15 PM
• http://www.nesc.ac.uk/esi/events/651/
Induction to Grid Computing and the National Grid Service
Download