Globus安装手册(2)
来源:百度文库 编辑:神马文学网 时间:2024/04/29 05:11:33
第二台机器的安装(cluster 主节点,机器名称 stugrid;IP:10.10.80.95)
一、准备工作
1.设置用户
安装Globus需要设置几个用户:root, globus, stugrid
其中,globus作为globus的安装用户;stugrid作为container的用户和测试用户
二、安装
1. 安装JDK
2. 安装ant
3. 统一设置环境变量
4. 安装globus-4.0.5
[root@stugrid]# mkdir /usr/local/globus-4.0.5
更改改目录主属性
[root@stugrid]# chown globus:globus usr/local/globus-4.0.5
拷贝gt4.0.5-x86_rhas_4-installer.tar.gz到globus-4.0.5目录中
[root@stugrid]# tar xzvf gt4.0.5-x86_rhas_4-installer.tar.gz
切换到globus用户
[root@stugrid]# su – globus
设置环境变量
[globus@stugrid]$ export GLOBUS_LOCATION=/usr/local/globus-4.0.5
[globus@stugrid]$ cd gt4.0.5-x86_rhas_4-installer-installer
编译预设值,将globus安装到/usr/local/globus-4.0.5中
[globus@stugrid]$ ./configure --prefix=$GLOBUS_LOCATION –enable-wsgram-pbs
执行编译命令
[globus@stugrid]$ make
注:如果这一步出现问题,注意看一下是否是相关文件的权限问题,可以考虑 chmod u+x操作,make出问题后,如果再次执行时出现
那么make clean 一下,再执行make
进行安装
[globus@stugrid]$ make install
5.
在这里,我们只需要从第一台机器上获得授权证书。
[globus@stugrid]$ scp globus@10.10.33.19:/home/globus/.globus/simpleCA/globus_simple_ca_91177e45_setup-0.19.tar.gz
注:simpleca文件名在不同的机器上应该不一样,具体的文件名需要查看第一台机器目录的文件,在这里10.10.33.19是第一台机器的ip,可以拷贝到本地机器的任何目录中
[globus@stugrid]$ export GLOBUS_LOCATION=/usr/local/globus-4.0.5
[globus@stugrid]$ $GLOBUS_LOCATION/sbin/gpt-build globus_simple_ca_91177e45_setup-0.19.tar.gz
[globus@stugrid]$ $GLOBUS_LOCATION/sbin/gpt-postinstall
[root@stugrid]# export GLOBUS_LOCATION=/usr/local/globus-4.0.5
[root@stugrid]# $GLOBUS_LOCATION/setup/globus_simple_ca_91177e045_setup/setup-gsi –default
现在我们已经创建一个CA并完成了认证,我们下面将获得到这台机器的hostcert:
[root@stugrid]# source $GLOBUS_LOCATION/etc/globus-user-env.sh
[root@stugrid]# grid-cert-request -host stugridstu
下面需要切换到第一台机器对证书进行登记:
[root@sonky]# scp root@10.10.80.95:/etc/grid-security/hostcert_request.pem
[root@sonky]# cd /usr/local
[root@sonky]# su - globus
[globus@sonky]$ grid-ca-sign
复制这个登记过的证书out.pem到第二台机器/etc/grid-security目录下:
[root@stugrid]# scp globus@10.10.33.19:/usr/local/out.pem /etc/grid-security/hostcert.pem
hostcert和hostkey为root用户所有,它们将被GridFTP服务器使用。因为Web服务容器(webservices container)被非root用户运行,所以我们需要一个为globus用户拥有的证书。即需要一个root用户拥有的host certificate/key和一个globus用户拥有的host certificate/key。以上可以通过简单的文件拷贝实现以上需求:
[root@stugrid grid-security]# cp hostcert.pem containercert.pem
[root@stugrid grid-security]# cp hostkey.pem containerkey.pem
[root@stugrid grid-security]# chown globus:globus container*.pem
查看一下结果:
[root@stugrid grid-security]# ls -l *.pem
-rw-r--r--
-r--------
-rw-r--r--
-rw-r--r--
-r--------
创建grid-mapfile,直接从第一台机器上拷贝过来:
[root@stugrid]# scp root@10.10.33.19:/etc/grid-security/grid-mapfile
接着为第二台机器上的stugrid用户创建usercert,只需要从第一台机器上直接拷贝:
[stugrid@stugrid]$ scp stugrid@10.10.33.19:/home/stugrid/.globus/*.pem
[stugrid@stugrid]$ source $GLOBUS_LOCATION/etc/globus-user-env.sh
[stugrid@stugrid]$ grid-cert-request
6.
创建文件
[root@stugrid]# scp root@10.10.33.19:/etc/xinetd.d/gridftp
[root@stugrid]# vim /etc/services
在# Local services 下面加入
gsiftp
[root@stugrid]# /etc/init.d/xinetd reload
测试一下gridftp:
[stugrid@stugrid]$ grid-proxy-init –verify –debug
注:如果提示无法链接,可能是由于无法识别sonky.stu这个主机名,修改/etc/hosts,加入:
10.10.33.19
[stugrid@stugrid]$ globus-url-copy gsiftp://stugrid.stu/etc/group gsiftp://sonky.stu/tmp/from-stugrid
到第一台机器查看是否产生了from-stugrid文件
7.
建立container启动文件,方便以后调试操作
[globus@stugrid]$ scp globus@10.10.33.19:/usr/local/globus-4.0.5/start-stop
[globus@stugrid]$ chmod +x /usr/local/globus-4.0.5/start-stop
[root@stugrid]# scp root@10.10.33.19:/etc/init.d/globus-4.0.5
[root@stugrid]# chmod +x /etc/init.d/globus-4.0.5
启动容器:
[root@stugrid]# /etc/init.d/globus-4.0.5 start
下面可以通过一个简单的clients/services来与容器进行交互操作
[stugrid@sonky]$ counter-client –s https://sonky.stu:8443/wsrf/services/CounterService
Got notification with value: 3
Counter has value: 3
Got notification with value: 13
表示与容器通讯成功
8.
首先修改/etc/bin/sudo
[root@stugrid]# visudo
在最后加上:
globus ALL=(stugrid) NOPASSWD: /usr/local/globus-4.0.5/libexec/globus-gridmap-and-execute -g /etc/grid-security/grid-mapfile /usr/local/globus-4.0.5/libexec/globus-job-manager-script.pl *
globus ALL=(stugrid) NOPASSWD: /usr/local/globus-4.0.5/libexec/globus-gridmap-and-execute -g /etc/grid-security/grid-mapfile /usr/local/globus-4.0.5/libexec/globus-gram-local-proxy-tool *
提交一个任务,测试GRAM
[stugrid@stugrid]$ globusrun-ws -submit -c /bin/true
可能出错:
[stugrid@sonky globus-4.0.5]$ globusrun-ws -submit -c /bin/true
Submitting job...Done.
Job ID: uuid:3c0e1126-456f-11dc-ac80-00123f672ef7
Termination time: 08/09/2007 05:21 GMT
Current job state: Failed
Destroying job...Done.
globusrun-ws: Job failed: Error code: 201
Script stderr:
Sorry, /usr/bin/sudo must be setuid root.
解决方法:更改sudo的属性,[root@sonky]# chmod 4111 /usr/bin/sudo
接下来测试一下机器的PBS是否正常工作,否则后面的任务无法使用PBS,用qsub测试
[stugrid@stugrid]$ vim mysub
#!/bin/sh
/bin/hostname
[stugrid@stugrid]$ qsub mysub
[root@stugrid]# qrun id号
查看globus-pbs的设置是否正确:
[root@stugrid]# cat /usr/local/globus-4.0.5/etc/globus-pbs.conf
Log_path=/var/spool/pbs/server_logs
测试通过PBS进行工作:
首先建立文件:
[stugrid@stugrid]$ vim test.rsl
[stugrid@stugrid]$ globusrun-ws –Ft
注:在10.10.80.95机器上该任务没有通过,不知是否因为该机器的pbs存在问题。
9. 配置VO-level服务
1)配置Index服务
[globus@stugrid]$ vim /usr/local/globus-4.0.5/etc/globus_wsrf_mds_index/hierarchy.xml