Globus Tookit 3.2 安装全过程

公孙成仁
2023-12-01

Globus Tookit 3.2 安装全过程

Jeffery Lee (http://jeffery.lee.googlepages.com/ ) 
                                                         School of Computer Science & Engineering Southeast University

                                                                 Ver. 0.1

                                      

摘要

本文主要参考实验室李超师兄总结的《gt 3.2.1 的安装编程以及实验总结》一文,订正修改而成,主要为了避免安装时走弯路,由于Globus Tookit(以下简称GT3.2)安装过程中问题多多,所以本文不是“silver bullet”,希望大家充分利用www.globus.org上提供的信息,到问题了,先找原因,再试图自己解决,这是学习之道,与大家共勉。

       本文详细的总结了GT 3.2.1 的版本的安装和编程。文章的顺序是:GT3.2的安装、GT3.2的编程框架以及类库之间的关系、GT3.2的简单编程和高级编程。

 

GT3.2的安装

GT3.2安装的准备

Ø         系统的约定:系统环境RedHat 9.0kernel 2.4.20 host(主机)名为jeffery.seu.edu.cn, IP地址为10.3.5.38

GT3.2的安装路径为/home/globus/gt3.2GT3.2的所有安装源文件放在/home/globus/share, shellbash shell

 

 

Ø         帐号的分配:创建三个用户: globus,client,rootglobus用户用于安装GT3.2、安装CA(签证授权服务器)。client用户属于使用GT3.2的普通用户。root用户相对于client用户来说是GT3.2服务器(也同样要向CA申请签证)。

 

Ø         安装的软件配置:

1.         gt 3.2.1 -all-source-installer.tar.gzgt3.2的源文件。下载http://www-unix.globus.org/toolkit/download.html

2.         jdk 1.4.2_04 gt3.2的源文件是java代码。下载http://java.sun.com/download.html

3.         apache-ant- 1.6.2 -bin.tar.gzgt3.2的安装和编程的配置都有ant来完成。下载http://jakarta.apache.org/ant

4.         junit 3.8.1 gt3.2java源代码的测试。下载http://www.junit.org

5.         编译gt3.2的源代码的c编译器为gcc3.2YACC和其他的解压缩工具targzipRedHat 9.0中都已经默认安装了,如果没有安装,请安装。

 

GT3.2的安装的细节

软件的安装大致流程如下:

安装jdk->安装ant->安装junit->设置环境变量/etc/profile->安装gt3.2->安装mmjsf->安装gsi->建立服务器的认证->建立客户机的认证。

 

安装细节如下:

1)        安装jdk: 如果是bin包可以自动安装,若为rpm包则运行下面命令(root权限),默认路径为/usr/local/j2sdk 1.4.1

[root@share] rpm –ivh j2sdk-1_4_2_04-fcs-linux-i586.rpm

关于JDK版本,建议选择1.4Sun公司主页上现在能下载到的也只有 1.4.2 JDK5.0时间原因我没有来的及测试。

 

2)        安装 Apache antapache ant包可以为apache-ant- 1.6.2 也可以是apache-ant-1.6.1beta,默认路径为/usr/local/apache-ant-1.6.2

[root@share] tar -xvzf /home/globus/share/apache-ant- 1.6.2 -bin.tar.gz

 

3)        安装junit:因为是JUnit 3.8.1 .zip包,只需要解压到/usr/local/JUnit3.8.1就可以了,注意要把/usr/local/JUnit3.8.1/junit.jar拷贝到/usr/local/apache-ant-1.6.2/lib目录下,因为ant要用到junit进行测试。

[root@share] cp /usr/local/JUnit 3.8.1 /junit.jar /usr/local/apache-ant-1.6.2/lib

 

4)        设置环境变量:以root权限设置

[root@share] vi /etc/profile

加入一下内容:

JAVA_HOME=/usr/java/j2sdk 1.4.2_04

ANT_HOME=/usr/local/apache-ant- 1.6.2

GLOBUS_LOCATION=/home/globus/gt3.2

GPT_LOCATION=/home/globus/gt3.2

PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH:$GLOBUS_LOCATION/bin

CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$ANT_HOME/lib/ant.jar:$ANT_HOME/lib/junit.jar:$ANT_HOME/lib/*.jar

 

export JAVA_HOME

export ANT_HOME

export GLOBUS_LOCATION

export GPT_LOCATION

export CLASSPATH

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC

 

注意:这些设置都是全局的环境变量设置,JAVA_HOME, ANT_HOMEjavaant的安装路径,GLOBUS_LOCATIONgt3.2的安装路径,GPT_LOCATIONGPTglobus package toolkt)安装是需要的路径,不然在安装gt3.2的过程中会出现gpt安装失败,另外必须设置CLASSPATH,不然在gt3.2编译时会找不到库文件。

5)        安装GT3.2

globus用户登陆,注意权限设置,安装文件要求都为globus

[root@share] su globus

[globus@share]

gt 3.2.1 -all-source-installer.tar.gz源文件解压到/home/globus/share/gt3.2.1-all-source-installer

[globus@share] tar –zxvf gt 3.2.1 -all-source-installer.tar.gz

转到/home/globus/share/gt 3.2.1 -all-source-installer目录下

[globus@share]cd gt 3.2.1 -all-source-installe

[globus@ gt 3.2.1 -all-source-installe]

                                                                                                                

       正式安装gt3.2

       [globus@ gt 3.2.1 -all-source-installe]./install-gt3 $GLOBUS_LOCATION

      

注意:首先要运行source /etc/profile设置环境变量,确保$GLOBUS_LOCATIONgt3.2的安装路径。

 

编译的时间视机器而定(建议选择性能较好的机器进行)。大概30分钟到1个小时左右,在编译过程中如果出现

make distclean make

*** no rule to make target distclean .stop

属于正常现象。

 

如果长时间没有反应,可以查看cpu的利用率,如果cpu利用率持续很高,则正常,如 持续很低(持续20分钟以上),则可以尝试重新启动安装命令(可能要试几次才有效)。编译过程是最为耗时的,真的需要有耐心和信心。

       编译结束如果出现:“build successful”表示GT3.2安装成功了。

编译结束后系统提示要安装/$GLOBUS_LOCATION/setup/globus/setup-globus-gaa-authz-callout (这个一定要安装不然下面的安装会有问题)

      

       转到root用户运行/$GLOBUS_LOCATION/setup/globus/setup-globus-gaa-authz-callout –nonroot的安装

 

6)        安装mmjfs

[globus@ gt 3.2.1 -all-source-installe]./install-gt3-mmjfs $GLOBUS_LOCATION

注意:安装过程中如果出现xml文件不能读取的问题,则应该检查CLASSPATH中是否有xercesImpl.jar, xmlapi.jar, 以及$GLOBUS_LOCATION下文件的权限控制。

当出现“build successfully”表示安装成功。

 

7)        安装GSI(安全认证的配置)

因为GT3.2的安全认证库需要新的xalan.jar,所以要将$GLOBUS_LOCATION/endorsed/xalan.jar拷贝到$JAVA_HOME/jre/endorsed下。(以root权限)

 

globus用户登陆。

ü         首先检查$GLOBUS_LOCATION环境变量是否已经设置,由于simpleCA的配置需要读取一些文件,因此,因此,应该更改它的权限,运行$GLOBUS_LOCATION/etc/globus-user-env.{sh.csh.bat}的脚本文件来更改文件的权限,因此运行:

[globus@ gt 3.2.1 -all-source-installe]source  $GLOBUS_LOCATION/etc/globus-user-env.sh

 

ü         运行安装simpleCA的脚本:

[globus@gt 3.2.1 -all-source-installe]$GLOBUS_LOCATION/setup/globus/setup-simple-ca

a)         此脚本将提示输入你将创建的CA信息:(注意:请记住)按回车接受默认信息:cn(company name)=Globus Simple CA Ou(organization unit)=SimpleCA-jeffery.seu.edu.cn Ou=GlobusTest O=Grid

b)        提示输入CAEmail地址用于给CA和请求认证者之间的通信(如果是本机可以自己拷贝):Jeffery.Lee@gmail.com

c)         提示输入certificate的期限:回车默认为5

d)        输入认证密码(一定要记住,每一次确认认证请求都要输入密码):simpleca

e)         则产生的CA private key放在目录/home/globus/.globus/simpleCA//private/cakey.pem

f)         输入刚才密码,生成CApublic key放在/home/globus/.globus/simpleCA/cacert.pem

g)        CA的客户端发布包(用于其他客户端的签证,只需把这个文件拷贝到客户端,详情请查看本文档的后面)放在目录:/home/globus/.globus/simpleCA//globus_simple_ca_<hash code>setup-0.17.tar.gz

 

 

8)        安装GSI

root用户运行如下命令:

[root@gt 3.2.1 -all-source-installer]$GLOBUS_LOCATION/setup/globus_simple_ca_<hashcode>_setup/setup-gsi

 

[root@gt 3.2.1 -all-source-installer]$GLOBUS_LOCATION/setup/globus_simple_ca_<hashcode>_setup/setup-gsi –default

注意:这一命令必须运行,否则,建立代理会失败。

 

9)        建立globus服务器的认证请求:

注意:globus用户建立的是CA服务器和globus服务器,首先要先对globus服务器进行签证。建立globus服务器的签证一定要以root用户登陆。

[root@ gt 3.2.1 -all-source-installer]$GLOBUS_LOCATION/bin/grid-cert-request –host ‘jeffery.seu.edu.cn’

注:jeffery.seu.edu.cn/etc/host下面的host name

(如果没有请用vi编辑host文件,手动添加ip和主机名)

该命令产生下面三个文件:

a)         /etc/grid-security/hostkey.pem (private key)

b)        /etc/grid-security/hostcert_request.pem (request file)

c)         (an empty file should be replaced) /etc/grid-security/hostcert.pem

我自己在进行globus服务器的证书签证这一步时,运行上述命令有错误提示,并未生成hostcert_request.pem文件,而提示在/home/globus/.globus/simpleCA/newcerts下生成0X.pem文件,我们可以将该文件拷贝到globus用户目录下,简化下面的证书签证命令。

 

 

10)     globus服务器的证书进行签证:

globus用户登陆(CAglobus用户安装),运行下面命令:

[globus@gt 3.2.1 -all-source-installer]grid-ca-sign –in /etc/grid-security/hostcert_request.pem –out /etc/grid-security/hostsigned.pem

注:命令成功将产生/etc/grid-security/hostsigned.pem文件,前提是要先创建这个文件(可能globus没有权限创建)。当要用户输入签证密码时:输入前面globus用户建立CA时输入的密码:simpleca(用户自己定义)。

把产生的/etc/grid-security/hostsigned.pem文件覆盖掉/etc/grid-security/hostcert.pem(前面为空)

[globus@ gt 3.2.1 -all-source-installer]mv /etc/grid-security/hostsigned.pem /etc/grid-security/hostcert.pem.

注意,该签证后的文件的所有权则是globus服务器的所有者root用户,其他用户只有只读权限(444644,通过ls –l查看,通过chmodchgrp来更改)。

 

 

11)     建立客户端的认证请求:

以普通用户client进行登陆。注意由于client用户要执行$GLOBUS_LOCATION/bin下的文件,所以client用户要对该目录具有执行权限(通过chmod更改)

[client@ gt 3.2.1 -all-source-installer]$GLOBUS_LOCATION/bin/grid-cert-request

注意:命令运行后提示输入CA的签证密码,输入:simpleca,产生如下文件:

a)         /home/client/.globus/userkey.pem (private key for client)

b)        /home/client/.globus/usercert_request.pem (ceritification request)

c)         /home/client/.globus/usercert.pem empty file, should be replaced after begin signed

d)        将上面的usercert_request.pem文件发给CA,由于是同一台机器,所以只要用globus用户对它进行签证就行了,如果是不同机器的用户,办法如后所述。

 

我自己在进行这一步时,运行上述命令同样有错误提示,并未生成hostcert_request.pem文件,而提示在/home/globus/.globus/simpleCA/newcerts下生成0X.pem文件,我们可以将该文件拷贝到globus用户目录下,简化下面的证书签证命令,这并不影响最后的安装。

 

 

12)     对客户端的认证请求进行签证:

globus用户进行登陆:

[globus@ gt 3.2.1 -all-source-installer]grid-ca-sign –in /home/client/.globus/usercert_request.pem –out /home/client/.globus/usersigned.pem

注意:首先要创建/home/client/.globus/hostsigned.pem文件,上述命令会提示输入CA的签证密码,输入:simpleCA,产生/home/client/.globus/hostsigned.pem文件,client用户把这个文件替换掉/home/client/.globus/usercert.pem

 

注意这三个文件的权限控制,文件usergroup都为client用户(group可以是globus)

a)         /home/client/.globus/userkey.pem                                       r--------

b)        /home/client/.globus/usercert_request.pem (ceritification request)     rw-r--r--

c)         /home/client/.globus/usercert.pem                                            rw-r--r--

 

13)     GT3.2的测试:

务必以client用户从系统登陆(而不是rootglobus),否则象globus-service-brower不能正常启动。

a)         为了测试,首先要保证签证文件和密钥文件的权限:签证文件的umask码为:444,而密钥文件的umask码为:600,可以用root用户手工更改也可以利用脚本命令(推荐):

[root@ gt 3.2.1 -all-source-installer]$GLOBUS_LOCATION/bin/setperms.sh

b)        务必以root用户设置运行时动态连接库的位置:

[root@ gt 3.2.1 -all-source-installer]vi /etc/ld.so.conf /*动态链接库的配置文件*/

ld.so.conf中加入GLOBUS的库文件路径

/home/globus/gt3.2/lib ( 务必运行/sbin/ldconfig )

c)         client用户登陆,测试运行:

[client@client]$grid-proxy-init –debug -verify

 

d)        设置用户环境是的client可以读取$GLOBUS_LOCATION的文件,运行命令:

[client@client]$GLOBUS_LOCATION/etc/globus-user-env.sh

如果显示Permission Denied,注意检查globus-user-env.sh是否有执行权限

 

e)         设置授权用户并且映射提交作业

[root@grid-security]cd /etc/grid-security

创建grid-mapfile

[root@grid-security]touch grid-mapfile

[root@grid-security]vi grid-mapfile

按照下面格式添加用户名和授权ID

“/o=Grid/OU=GlobusTest/OU=simpleCA-jeffery.seu.edu.cn/OU=seu.edu.cn/CN=client” client

域名和用户名的获得可以通过以下命令得到(推荐)

[client@grid-security]grid-cert-info –subject

将命令输出复制到grid-mapfile即可

 

创建作业提交服务配置文件,使得用户可以提交作业

[root@grid-security]touch grim-port-type.xml

[root@grid-security]vi grim-port-type.xml

<authorized_port_types><port_type username=”client”>http://www.globus.org/namespace/managed_job/managed_job/ManagedJobPortType</port_type></authorized_port_types>

绝对不能有空行或回车,否则会出错

 

 

f)         启动globus container

务必要以globus用户登陆,务必要在$GLOBUS_LOCATION目录下

[globus@gt3.2]globus-start-container –p 8080

:如果有问题的话可能要按照先安装ca,认证后在安装mmjfs.

 

g)        启动service brower

务必要以client用户登陆,务必要在$GLOBUS_LOCATION目录下。(待验证)

[client@gt3.2]globus-service-brower

14)     对其他的客户机进行签证:

ü         将我们前面建立CA服务器时生成的/home/globus/.globus/simpleCA//globus_simple_ca_<hash code>setup-0.17.tar.gz拷贝到请求签证的计算机上。

ü         运行下列命令:

[client@client]$GLOBUS_LOCATION/sbin/gpt-build globus_simple_ca_<hash code>setup-0.17.tar.gz gcc32dbg

ü         运行下列命令:

[client@client]setup-gsi -default

ü         建立用户认证请求:和前面过程一样,请求->签证

 

 
 类似资料: