Vizible’s Blog

Globus Toolkit Installation

Posted in Globus by wearetherock on May 27, 2008

ช่วงนี้ไม่ได้ทำอะไรกับบล๊อกนอกจากจะโพส Error Message ที่เกิดการการลองโน้นลองนี่(หรือว่าจะเขียนอะไรที่เป็นเนื้อหาสาระไม่เป็นก็ไม่รู้!) ฝึกงานเสร็จแล้วครับเมื่อวันศุกร์ เหลือเวลา 1 อาทิตย์ก่อนเปิดเทอมเลยไปนั่งฟังพี่นัฐอบรมเกมส์ Blender 3D + Python Script คอมในเลบแรงมากๆ CPU : AMD Athlon(tm) 64 X2 Dual Core Processor 5200+ 2.70GHz RAM : 2.00 GB เป็นเครื่อง Lenovo จอแบน Widescreen อีกต่างหาก ไปนั่งได้ครึ่งวันครับ คิดไปคิดมาเรามาทำอะไรอยู่เนียะ อืมจะไปเขียนเกมส์ขายหรอ(ไม่)คือ ผมเป็นคนไม่ค่อยเล่นเกมส์ นานๆที่จะแวะไปเล่น Street Fighter กับเพื่อนห้องข้างๆ หรือไม่ก็เล่น X-Motor ในเครื่องตัวเอง(ที่เป็นลินุกซ์) เรื่องเกมส์คอนโซลอย่าง PS3, XBox, Wii ไม่เคยคิดอยากได้ด้วยซ้ำ(คือว่าไม่มีตังค์ซิครับ)
ลังแลแต่แรกแล้วว่าจะเข้าหรือเปล่าอบรมทำเกมส์ 5 วัน กับเอาเวลาทีเหลือนี้ทำงานของตัวเอง ตั้งใจว่าจะลองเขียนโปรแกรมโดยใช้ Globus Toolkit ให้ได้เป็นชิ้นเป็นอันก่อนเปิดเทอม

เมื่อวาน พอถึงหอช่วงบ่ายก็เริ่มไปหาโหลด Doc มานั่งดู ดูตามๆ ที่เค้าบอกครับ อ่านบ้างเปิดผ่านๆบ้าง เรียงตามลำดับ
1. Globus Primer – Lee Liming, Argonne National Laboratory เป็นสไลด์ แน่นอนครับเปิดผ่านๆ รู้สึกว่ามีการอ้างถึง ThaiGrid ด้วย ดังเหมือนกันนะเนียะ
2. The Globus Toolkit 4 Programmer’s Tutorial พูดเกี่ยวกับ Web Service เป็นส่วนใหญ่
3. Installing GT 4.0 (System Administrator’s Guide) ทำไมขั้นตอนถึงเยอะแบบนี้
4. GT 4.0.x Quickstart Guide วิธีการติดตั้งสั้นกว่าเดิม (ไม่ค่อยรู้เรื่อง)
5. HOW TO INSTALL GLOBUS AND WRITE A HELLO WORLD SERVICE ถึงอันสุดท้ายถึงจะพอเข้าใจอะไรบ้าง ต้องไปตามอ่าน CA ด้วย

ทวนความจำอ่านอะไรไปบ้าง

Globus Toolkit คือ อะไร?
เป็นเครื่องมือช่วยในการพัฒนาโปรแกรมบน Grid พัฒนาโดย Globus Alliance. Implemnent ตามมาตรฐาน Open Grid Services Architecture (OGSA) มีองค์ประกอบสำครับ 4 อย่างคือ
1. Resource monitoring and discovery service
2. Job submission infrastructure
3. Security infrastructure
4. Data management services

Service ส่วนใหญ่จะ Implemnt อยู่บน WSRF(Web Services Resource Framework) (มีบางอันที่เป็น non-WS components) ข้อดีคือ Web Service ใช้ XML ดังนั้นจะเขียนโปรแกรมด้วยภาษาใดๆก็ได้ เพื่อเรียกใช้บริการทรัพยาการบน Grid (เข้าใจถูกหรือเปล่าเนียะ)

ติดตั้ง Globus Toolkit 4.0.7 ยาวจริงๆ

ผมติดตั้งบน Ubuntu 8.04 ครับ ใน Tutorial เค้าใช้ Debain 3.1 กับ Linux RH9

เตรียมเครื่องไม้เครื่องมือ

เครื่องมือต้องมีก่อนติดตั้ง เครื่องมือส่วนใหญ่จะมาพร้อมกับ OS อยู่แล้ว อันไหนไม่มี ใช้ apt-get ครับง่ายดี
1. zlib ต้องใช้ zlib-bin, zlib1g, zlib1g-dev
[beer@beer-desktop-~]$ dpkg –list | grep zlib
ii zlib-bin 1:1.2.3.3.dfsg-7ubuntu1 compression library – sample programs
ii zlib1g 1:1.2.3.3.dfsg-7ubuntu1 compression library – runtime
ii zlib1g-dev 1:1.2.3.3.dfsg-7ubuntu1 compression library – development

2. Java SDK ของ SUN (GCJ ใช้ไม่ได้) ผมใช้ 1.6
[root@beer-desktop-~]$ java -version
java version “1.6.0_06”
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)

3. Ant
[root@beer-desktop-~]$ ant -version
Apache Ant version 1.7.0 compiled on December 13 2006

4. gcc
[beer@beer-desktop-~]$ gcc –version
gcc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

5. g++
[beer@beer-desktop-~]$ g++ –version
g++ (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

6. tar
[beer@beer-desktop-~]$ tar –version
tar (GNU tar) 1.19
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html&gt;
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.


Written by John Gilmore and Jay Fenlason.

7. sed
[beer@beer-desktop-~]$ sed –version
GNU sed version 4.1.5
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.

8. make
[beer@beer-desktop-~]$ make –version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.


This program built for i486-pc-linux-gnu

9. perl
[beer@beer-desktop-~]$ perl –version

This is perl, v5.8.8 built for i486-linux-gnu-thread-multi

Copyright 1987-2006, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using “man perl” or “perldoc perl”. If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

10. sudo
[beer@beer-desktop-~]$ sudo -V
Sudo version 1.6.9p1

11. ฐานข้อมูล PostgreSQL
[beer@beer-desktop-~]$ dpkg –list | grep postgres
ii postgresql 8.3.1-1 object-relational SQL database (latest versi
ii postgresql-8.3 8.3.1-1 object-relational SQL database, version 8.3
ii postgresql-client-8.3 8.3.1-1 front-end programs for PostgreSQL 8.3
ii postgresql-client-common 87 manager for multiple PostgreSQL client versi
ii postgresql-common 87 PostgreSQL database-cluster manager

12. IODBC
[beer@beer-desktop-~]$ sudo apt-get install libiodbc2 libiodbc2-dev

ขั้นตอนการติดตั้ง
1. สร้าง user ชื่อ globus เราจะให้ user คนนี้เป็น globus admin และเป็นคน sign certificate
[root@beer-desktop-~]$ adduser globus
Adding user `globus’…
Adding new group `globus’ (1023).
Adding new user `globus’ (1023) with group `globus’.
Creating home directory `/home/globus’.
Copying files from `/etc/skel’
Enter new UNIX password:********
Retype new UNIX password:********
passwd: password updated successfully
Changing the user information for globus
Enter the new value, or press ENTER for the default
Full Name []: Globus
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [y/N] y

2. เตียมโฟลเดอร์สำหรับการติดตั้ง
[root@beer-desktop-~]$ mkdir /usr/local/globus-4.0.7/
[root@beer-desktop-~]$ chown globus:globus /usr/local/globus-4.0.7/

3. แตกไฟล์ Toolkit ที่โหลดมา เซ็ต path แล้วรันสคริป configure
[root@beer-desktop-gt4.0.7-x86_deb_3.1-installer]$ su globus
Password:
[globus@beer-desktop-~]$ export ANT_HOME=/usr/local/apache-ant-1.7.0
[globus@beer-desktop-~]$ export JAVA_HOME=/usr/java/jdk1.6_06/
[globus@beer-desktop-~]$ export PATH=$ANT_HOME/bin:$JAVA_HOME/bin:$PATH
[globus@beer-desktop-~]$ tar -xvf gt4.0.7-x86_deb_3.1-installer.tar.gz
[globus@beer-desktop-~]$ cd gt4.0.7-x86_deb_3.1-installer
[globus@beer-desktop-gt4.0.7-x86_deb_3.1-installer]$ ./configure –prefix=/usr/local/globus-4.0.7/ –with-iodbc=/usr/lib

4. ขั้นตอนสุดท้าย make, make install
[globus@beer-desktop-gt4.0.7-x86_deb_3.1-installer]$ make | tee installer.log
cd gpt-3.2autotools2004 && OBJECT_MODE=32 ./build_gpt
build_gpt ====> installing GPT into /usr/local/globus-4.0.1/

Time for a coffee break here, the build will take over an hour, possibly
longer depending on how fast your machine is

echo “Your build completed successfully. Please run make install.”
Your build completed successfully. Please run make install.

[globus@beer-desktop-gt4.0.7-x86_deb_3.1-installer]$ make install
/usr/local/globus-4.0.1//sbin/gpt-postinstall

..Done

ต่อไปคือเซ็ต Security
เนื่องจากเครื่องข่าย Grid ต้องมีการเชื่อมต่อออกไปภายนอกองค์กรผ่านเครือข่ายอินเตอร์เน็ต Globus Toolkit จึงต้องมี Grid Security Infrastructure(GSI) เพื่อสร้างความปลอดภัยในการติดต่อสื่อสาร GSI ใช้พื้นฐาน public key encrption ตามมาตรฐาน X.509 certificate + SSL

ผู้ใช้แต่ละคนจะต้องมี certificate เพื่อใช้ในการระบุตัวตัน โดย certificate แต่ละใบต้องได้รับการเซ็นร้บรอง(signed) โดย Certificate Authorith(CA)

ขั้นตอนในการสร้าง CA , Certificate และเซ็นรับร้อง Certificate โดย CA
1. สร้าง CA ด้วย user ชื่อ globus (globus จะเป็นคนเซ็น certificate ให้ host/user รายอื่น)
2. สร้าง certificate ให้กับ host(cert ของเครื่อง) แล้วให้ globus เซ็นต์รับรอง
2. สร้าง certificate ให้กับ user แล้วให้ globus เซ็นต์รับรอง

1. สร้าง CA ให้สังเกต ชื่อ user ให้ดี

สร้าง CA โดย globus ใช้โปรแกรม setup-simple-ca
จะมีคำถาม 2-3 ข้อให้ yes ไปก่อน ยกเว้น PEM pass phrase ที่ต้องกรอก (จำไว้ด้วย)

[globus@beer-desktop-~]$ export GLOBUS_LOCATION=/usr/local/globus-4.0.1
[globus@beer-desktop-~]$ source $GLOBUS_LOCATION/etc/globus-user-env.sh
[globus@beer-desktop-~]$ $GLOBUS_LOCATION/setup/globus/setup-simple-ca
WARNING: GPT_LOCATION not set, assuming:
GPT_LOCATION=/usr/local/globus-4.0.1

C e r t i f i c a t e A u t h o r i t y S e t u p

This script will setup a Certificate Authority for signing Globus
users certificates. It will also generate a simple CA package
that can be distributed to the users of the CA.

The CA information about the certificates it distributes will
be kept in:

/home/globus/.globus/simpleCA/
/usr/local/globus-4.0.1/setup/globus/setup-simple-ca: line 250:
test: res: integer expression expected

The unique subject name for this CA is:

cn=Globus Simple CA, ou=simpleCA-choate.mcs.anl.gov, ou=GlobusTest, o=Grid

Do you want to keep this as the CA subject (y/n) [y]:
y
Enter the email of the CA (this is the email where certificate
requests will be sent to be signed by the CA): bacon@choate
The CA certificate has an expiration date. Keep in mind that
once the CA certificate has expired, all the certificates
signed by that CA become invalid. A CA should regenerate
the CA certificate and start re-issuing ca-setup packages
before the actual CA certificate expires. This can be done
by re-running this setup script. Enter the number of DAYS
the CA certificate should last before it expires.
[default: 5 years (1825 days)]:RETURN

Enter PEM pass phrase:******
Verifying – Enter PEM pass phrase:******
/bin/sed: can’t read /tmp//globus_tmp_ca_setup//pkgdata/pkg_data_src.gpt.tmpl:
No such file or directory

creating CA config package…
A self-signed certificate has been generated
for the Certificate Authority with the subject:

/O=Grid/OU=GlobusTest/OU=simpleCA-choate.mcs.anl.gov/CN=Globus Simple CA

If this is invalid, rerun this script

/usr/local/globus-4.0.1/setup/globus/setup-simple-ca

and enter the appropriate fields.

——————————————————————-

The private key of the CA is stored in /home/globus/.globus/simpleCA//private/cakey.pem
The public CA certificate is stored in /home/globus/.globus/simpleCA//cacert.pem

The distribution package built for this CA is stored in

/home/globus/.globus/simpleCA//globus_simple_ca_ebb88ce5_setup-0.18.tar.gz

This file must be distributed to any host wishing to request
certificates from this CA.

CA setup complete.

The following commands will now be run to setup the security
configuration files for this CA:

$GLOBUS_LOCATION/sbin/gpt-build \
/home/globus/.globus/simpleCA//globus_simple_ca_ebb88ce5_setup-0.18.tar.gz

$GLOBUS_LOCATION/sbin/gpt-postinstall
——————————————————————-
setup-ssl-utils: Configuring ssl-utils package
Running setup-ssl-utils-sh-scripts…

***************************************************************************

Note: To complete setup of the GSI software you need to run the
following script as root to configure your security configuration
directory:

/usr/local/globus-4.0.1/setup/globus_simple_ca_ebb88ce5_setup/setup-gsi

For further information on using the setup-gsi script, use the -help
option. The -default option sets this security configuration to be
the default, and -nonroot can be used on systems where root access is
not available.

***************************************************************************

setup-ssl-utils: Complete

จะได้โฟลเดอร์ simpleCA อยู่ใน ~./globus
[globus@beer-desktop-~]$ ls ~/.globus/
simpleCA
[globus@beer-desktop-~]$ ls ~/.globus/simpleCA/
cacert.pem globus_simple_ca_ebb88ce5_setup-0.18.tar.gz newcerts
certs grid-ca-ssl.conf private
crl index.txt serial

2. สร้าง certificate ให้กับ host(cert ของเครื่อง) แล้วให้ globus เซ็นต์รับรอง (su root)
[root@beer-desktop-~]$ echo $HOSTNAME
beer-desktop
[root@beer-desktop-~]$ export GLOBUS_LOCATION=/usr/local/globus-4.0.7
[root@beer-desktop-~]$ source $GLOBUS_LOCATION/etc/globus-user-env.sh
[root@beer-desktop-~]$ $GLOBUS_LOCATION/setup/globus_simple_ca_ebb88ce5_setup/setup-gsi -default
….
[root@beer-desktop-~]$ grid-cert-request ‘beer-desktop’

ขั้นตอนนี้ จะได้ 3 ไฟล์เก็บไว้ที่ /etc/grid-secruity/
– hostkey.pem เป็น private key ของ host
– hostcert_request.pem
– hostcert.pem เป็น certificate แต่ภายในยังว่างเพราะยังไม่ถูกเซ็นรับรอง

ต่อไปคือการเซ็นรับรอง certificate (su globus)
[globus@beer-desktop-~]$ grid-ca-sign -in /etc/grid-security/hostcert_request.pem -out hostsigned.pem
To sign the request
please enter the password for the CA key:******

The new signed certificate is at: /home/globus/.globus/simpleCA//newcerts/01.pem

จะได้ไฟล์ hostsigned.pem นี้คือ certificate ที่ได้รับการเซ็นต์รับรองแล้ว ให้ copy มาทับ hostcert.pem
[root@beer-desktop-~]$ cp hostsigned.pem /etc/grid-security/hostcert.pem

3. สร้าง certificate ให้กับ user แล้วให้ globus เซ็นต์รับรอง
คล้ายกับข้อ 2

ล๊อกอินโดย user ที่สร้างไว้ ของผมเป็น beer (su beer)
รันโปรแกรม grid-cert-request
[beer@beer-desktop-~]$ grid-cert-request

จะได้ 3 ไฟล์เก็บลงใน ~beer/.globus/
[beer@beer-desktop-.globus]$ ls ~beer/.globus
usercert.pem usercert_request.pem userkey.pem

เซ็นต์รับรองโดย globus (du globus)
[globus@beer-desktop-~]$ cd /home/beer/.globus/
[globus@beer-desktop-.globus]$ grid-ca-sign -in usercert_request.pem -out signed.pem

copy certificate ไปทับไฟล์เดิม (sudo root)
[root@beer-desktop-~]$ cp signed.pem /home/beer/.globus/usercert.pem

ทดสอบ certificate ว่าเซ็ตถูกหรือเปล่า
[beer@beer-desktop-~]$ cd .globus/
[beer@beer-desktop-.globus]$ grid-proxy-init -debug -verify

User Cert File: /home/beer/.globus/usercert.pem
User Key File: /home/beer/.globus/userkey.pem

Trusted CA Cert Dir: /etc/grid-security/certificates

Output File: /tmp/x509up_u1000
Your identity: /O=Grid/OU=GlobusTest/OU=simpleCA-beer-desktop.com/OU=com/CN=beer
Enter GRID pass phrase for this identity:
Creating proxy ..++++++++++++
……..++++++++++++
Done
Proxy Verify OK
Your proxy is valid until: Wed May 28 09:36:29 2008

[beer@beer-desktop-.globus]$ grid-cert-info -subject
/O=Grid/OU=GlobusTest/OU=simpleCA-beer-desktop.com/OU=com/CN=beer

ขั้นตอนสุดท้ายคือ สร้าง grid_mapfile (เพื่ออะไร?) (su root)
[root@beer-desktop-~]$ echo ‘/O=Grid/OU=GlobusTest/OU=simpleCA-beer-desktop.com/OU=com/CN=beer’ beer >> /etc/grid-security/grid-mapfile

ตอนนี้เราสร้าง start ระบบได้แล้ว
[root@beer-desktop-.globus]$ /etc/init.d/postgresql-8.3 restart
* Restarting PostgreSQL 8.3 database server [ OK ]
[globus@beer-desktop:~$ globus-start-container
2008-05-27 21:46:20,643 ERROR service.ReliableFileTransferImpl [main,<init>:76] Unable to setup database driver with pooling.Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
2008-05-27 21:46:21,632 WARN service.ReliableFileTransferHome [main,initialize:97] All RFT requests will fail and all GRAM jobs that require file staging will fail.Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
Starting SOAP server at: https://127.0.1.1:8443/wsrf/services/
With the following services:

[1]: https://127.0.1.1:8443/wsrf/services/AdminService
[2]: https://127.0.1.1:8443/wsrf/services/AuthzCalloutTestService
[3]: https://127.0.1.1:8443/wsrf/services/CASService
[4]: https://127.0.1.1:8443/wsrf/services/ContainerRegistryEntryService
[5]: https://127.0.1.1:8443/wsrf/services/ContainerRegistryService
[6]: https://127.0.1.1:8443/wsrf/services/CounterService
[7]: https://127.0.1.1:8443/wsrf/services/DefaultIndexService
[8]: https://127.0.1.1:8443/wsrf/services/DefaultIndexServiceEntry
[9]: https://127.0.1.1:8443/wsrf/services/DefaultTriggerService
[10]: https://127.0.1.1:8443/wsrf/services/DefaultTriggerServiceEntry
[11]: https://127.0.1.1:8443/wsrf/services/DelegationFactoryService
[12]: https://127.0.1.1:8443/wsrf/services/DelegationService
[13]: https://127.0.1.1:8443/wsrf/services/DelegationTestService
[14]: https://127.0.1.1:8443/wsrf/services/InMemoryServiceGroup
[15]: https://127.0.1.1:8443/wsrf/services/InMemoryServiceGroupEntry
[16]: https://127.0.1.1:8443/wsrf/services/InMemoryServiceGroupFactory
[17]: https://127.0.1.1:8443/wsrf/services/IndexFactoryService
[18]: https://127.0.1.1:8443/wsrf/services/IndexService
[19]: https://127.0.1.1:8443/wsrf/services/IndexServiceEntry
[20]: https://127.0.1.1:8443/wsrf/services/JWSCoreVersion
[21]: https://127.0.1.1:8443/wsrf/services/ManagedExecutableJobService
[22]: https://127.0.1.1:8443/wsrf/services/ManagedJobFactoryService
[23]: https://127.0.1.1:8443/wsrf/services/ManagedMultiJobService
[24]: https://127.0.1.1:8443/wsrf/services/ManagementService
[25]: https://127.0.1.1:8443/wsrf/services/NotificationConsumerFactoryService
[26]: https://127.0.1.1:8443/wsrf/services/NotificationConsumerService
[27]: https://127.0.1.1:8443/wsrf/services/NotificationTestService
[28]: https://127.0.1.1:8443/wsrf/services/PersistenceTestSubscriptionManager
[29]: https://127.0.1.1:8443/wsrf/services/ReliableFileTransferFactoryService
[30]: https://127.0.1.1:8443/wsrf/services/ReliableFileTransferService
[31]: https://127.0.1.1:8443/wsrf/services/RendezvousFactoryService
[32]: https://127.0.1.1:8443/wsrf/services/SampleAuthzService
[33]: https://127.0.1.1:8443/wsrf/services/SecureCounterService
[34]: https://127.0.1.1:8443/wsrf/services/SecurityTestService
[35]: https://127.0.1.1:8443/wsrf/services/ShutdownService
[36]: https://127.0.1.1:8443/wsrf/services/SubscriptionManagerService
[37]: https://127.0.1.1:8443/wsrf/services/TestAuthzService
[38]: https://127.0.1.1:8443/wsrf/services/TestRPCService
[39]: https://127.0.1.1:8443/wsrf/services/TestService
[40]: https://127.0.1.1:8443/wsrf/services/TestServiceRequest
[41]: https://127.0.1.1:8443/wsrf/services/TestServiceWrongWSDL
[42]: https://127.0.1.1:8443/wsrf/services/TriggerFactoryService
[43]: https://127.0.1.1:8443/wsrf/services/TriggerService
[44]: https://127.0.1.1:8443/wsrf/services/TriggerServiceEntry
[45]: https://127.0.1.1:8443/wsrf/services/Version
[46]: https://127.0.1.1:8443/wsrf/services/WidgetNotificationService
[47]: https://127.0.1.1:8443/wsrf/services/WidgetService
[48]: https://127.0.1.1:8443/wsrf/services/gsi/AuthenticationService
[49]: https://127.0.1.1:8443/wsrf/services/mds/test/execsource/IndexService
[50]: https://127.0.1.1:8443/wsrf/services/mds/test/execsource/IndexServiceEntry
[51]: https://127.0.1.1:8443/wsrf/services/mds/test/subsource/IndexService
[52]: https://127.0.1.1:8443/wsrf/services/mds/test/subsource/IndexServiceEntry
2008-05-27 21:46:48,341 INFO impl.DefaultIndexService [ServiceThread-113,processConfigFile:107] Reading default registration configuration from file: /usr/local/globus-4.0.7//etc/globus_wsrf_mds_index/hierarchy.xml
2008-05-27 21:46:50,326 ERROR impl.QueryAggregatorSource [Timer-6,pollGetMultiple:149] Exception Getting Multiple Resource Properties from https://127.0.1.1:8443/wsrf/services/ReliableFileTransferFactoryService: java.rmi.RemoteException: Failed to serialize resource property org.globus.transfer.reliable.service.factory.TotalNumberOfBytesTransferred@1af0af7; nested exception is:
org.apache.commons.dbcp.DbcpException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
2008-05-27 21:47:50,582 ERROR impl.QueryAggregatorSource [Timer-6,pollGetMultiple:149] Exception Getting Multiple Resource Properties from https://127.0.1.1:8443/wsrf/services/ReliableFileTransferFactoryService: java.rmi.RemoteException: Failed to serialize resource property org.globus.transfer.reliable.service.factory.TotalNumberOfBytesTransferred@1af0af7; nested exception is:
org.apache.commons.dbcp.DbcpException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

เค้าบอกว่ารันอันนี้ได้ ก็เริ่มเขียน Grid Service ได้เลย ของผม error เฮอ
พรุ่งนี้จะลอง Hello World

เอกสารอ้างอิง การติดตั้ง
http://www.globus.org/toolkit/docs/4.0/admin/docbook/quickstart.html
https://www.dutchgrid.nl/install/gang/HowTo-GlobusInstallationExperience.pdf

Advertisements
Tagged with: , ,

9 Responses

Subscribe to comments with RSS.

  1. javaboom said, on May 27, 2008 at 5:12 pm

    จริงๆ Grid Services หรือ OGSI เขา deprecate ใน GT3 แล้วครับ แต่บางครั้งเราก็ยังติดปากใช้คำว่า Grid Services อยู่ แต่จริงๆแล้ว ถ้าคนในวงการเขาจะเรียกว่า Web Services เลยครับ เพราะ Web Services มันก็เป็นมาตรฐาน (ตาม GGF) ในการเขียนโปรแกรมบนกริดไปแล้ว แต่เพื่อให้มันดูแตกต่างจาก Web Services ทั่วไป เขาก็เรียก WSRF เพราะ GT4 เขาใช้ Web Service Resource Framework (WSRF) น่าจับตามอง WSRF มากๆ เพราะมันอาจจะเป็น defacto (หรือเป็นไปแล้ว) ของ Web Services เลยก็ว่าได้ครับ

    ถ้าอยากรู้ WSRF เขียนไงเข้าไปที่ http://gdp.globus.org/gt4-tutorial/multiplehtml/ ตอนสมัยอยู่ Sun ผมเคยจัดอบรมเขียน WSRF กับ Grid Services บ่อยครับ ตอนนี้ผมลืมแล้ว ผมว่าคุณน่าจะแปลคู่มือนี้เป็นไทยไว้ก็ได้นะ ทาง ThaiGrid เขาประทับใจแน่ๆครับ

  2. javaboom said, on May 27, 2008 at 5:12 pm

    จริงๆ Grid Services หรือ OGSI เขา deprecate ใน GT3 แล้วครับ แต่บางครั้งเราก็ยังติดปากใช้คำว่า Grid Services อยู่ แต่จริงๆแล้ว ถ้าคนในวงการเขาจะเรียกว่า Web Services เลยครับ เพราะ Web Services มันก็เป็นมาตรฐาน (ตาม GGF) ในการเขียนโปรแกรมบนกริดไปแล้ว แต่เพื่อให้มันดูแตกต่างจาก Web Services ทั่วไป เขาก็เรียก WSRF เพราะ GT4 เขาใช้ Web Service Resource Framework (WSRF) น่าจับตามอง WSRF มากๆ เพราะมันอาจจะเป็น defacto (หรือเป็นไปแล้ว) ของ Web Services เลยก็ว่าได้ครับ

    ถ้าอยากรู้ WSRF เขียนไงเข้าไปที่ http://gdp.globus.org/gt4-tutorial/multiplehtml/ ตอนสมัยอยู่ Sun ผมเคยจัดอบรมเขียน WSRF กับ Grid Services บ่อยครับ ตอนนี้ผมลืมแล้ว ผมว่าคุณน่าจะแปลคู่มือนี้เป็นไทยไว้ก็ได้นะ ทาง ThaiGrid เขาประทับใจแน่ๆครับ

  3. javaboom said, on May 27, 2008 at 5:17 pm

    หัวข้อ project อีกตัวที่น่าทำครับ เคยคิดจะให้คุณทำด้วย คือ ทำ Plugin สำหรับ Netbeans หรือ Eclipse เพื่อเขียน WSRF ครับ ถ้าคุณเคยใช้ JBuilder, WebSphere, Visual Studio.NET มันจะมีเครื่องมือที่ง่ายมากในการสร้าง Web Services ครับ เป็นสไตล์ Visual เลยแหละ ลากแปะ ใส่ code แค่ตรง service กดปุ่ม deploy แค่นี้ได้ Web Services แล้ว สำหรับ GT4 เขาก็อยากมีเครื่องมือเหมือนกันครับ ลองไปทำ survey ดูมีใครทำยัง สำหรับ GT3 มันมีแล้วน่ะครับ ถ้าคุณทำได้ work แม้มันมีคนทำแล้ว คุณก็เป็นแค่ 1 ในไม่ถึง 10 คนในโลก ที่มีชื่ออยู่ในนั้นครับ work แน่ เชื่อผม เป็นคนใหญ่ในเมืองเล็ก หรือเป็นคนเล็กในเมืองใหญ่ น่าคิดมั้ย?

  4. javaboom said, on May 27, 2008 at 5:17 pm

    หัวข้อ project อีกตัวที่น่าทำครับ เคยคิดจะให้คุณทำด้วย คือ ทำ Plugin สำหรับ Netbeans หรือ Eclipse เพื่อเขียน WSRF ครับ ถ้าคุณเคยใช้ JBuilder, WebSphere, Visual Studio.NET มันจะมีเครื่องมือที่ง่ายมากในการสร้าง Web Services ครับ เป็นสไตล์ Visual เลยแหละ ลากแปะ ใส่ code แค่ตรง service กดปุ่ม deploy แค่นี้ได้ Web Services แล้ว สำหรับ GT4 เขาก็อยากมีเครื่องมือเหมือนกันครับ ลองไปทำ survey ดูมีใครทำยัง สำหรับ GT3 มันมีแล้วน่ะครับ ถ้าคุณทำได้ work แม้มันมีคนทำแล้ว คุณก็เป็นแค่ 1 ในไม่ถึง 10 คนในโลก ที่มีชื่ออยู่ในนั้นครับ work แน่ เชื่อผม เป็นคนใหญ่ในเมืองเล็ก หรือเป็นคนเล็กในเมืองใหญ่ น่าคิดมั้ย?

  5. vunknown said, on May 27, 2008 at 5:54 pm

    ขอบคุณครับ OGSI is now obsolete, and has been superseded (in practical terms) by WSRF พอดีอ่าน Tutorial ของ GT3 เลยได้คำว่า Grid Service ติดมาด้วย

    แต่สงสัยว่าทำไม OGSA ซึ่งเขียนอยู่บน OGSI ยังใช้อยู่ใน GT4 ครับ ทำไมไม่ deprecate ตาม OGSI

  6. vunknown said, on May 27, 2008 at 5:54 pm

    ขอบคุณครับ OGSI is now obsolete, and has been superseded (in practical terms) by WSRF พอดีอ่าน Tutorial ของ GT3 เลยได้คำว่า Grid Service ติดมาด้วย

    แต่สงสัยว่าทำไม OGSA ซึ่งเขียนอยู่บน OGSI ยังใช้อยู่ใน GT4 ครับ ทำไมไม่ deprecate ตาม OGSI

  7. javaboom said, on May 28, 2008 at 5:07 am

    อ่า 🙂 คุณต้องกลับไปอ่าน paper ของ Ian Foster แล้วแหละครับ มันเป็น desgin ผมสรุปให้ฟังง่ายๆน่ะครับ OGSA เป็นสถาปัตยกรรมของการสร้าง app บนกริดโดยอิงกับ Web Services พูดง่ายๆมันคล้ายพิมพ์เขียวน่ะครับ ส่วน OGSI มันคล้ายๆกับรายการของอุปกรณ์และองค์ประกอบต่างๆ รวมทั้งวิธีการเพื่อให้ได้มาซึ่งพิมพ์เขียวใน OGSA ส่วน GT3 เป็นเหมือนบ้านที่สร้างตาม OGSA โดยใช้ OGSI

    เทียบกับ Java คือ OGSA เป็น interface, OGSI เป็น abstract class ส่วน GT3 เป็น concrete class แต่ OGSI มันเทอะทะและออกจะตามใจผู้พัฒนาใน globus.org มากไปหน่อย ไม่ตามใจตลาด ดังนั้น มันก็เลยโดนโละ

    สำหรับ GT4 ยังคง OGSA ไว้เช่นเดิม แต่เอาใจตลาดและเสียงจากภายนอกวงการกริด โดยเล็งไปที่ WSRF ซึ่งเป็นอะไรที่ตลาดฝันถึง ก็เลยเป็นที่มาของ GT4 ที่มีอยู่ 2 core คือ WS-CORE กับ NON WS-CORE นั่นแหละครับ ไอ้ตัวหลังเป็นส่วนที่ยังรักพี่เสียดายน้อง และก็เป็นข้อจำกัดที่ WS-CORE ยังทำไม่ได้หรือไม่เวิร์ค แต่ไม่ใช่ OGSI

  8. javaboom said, on May 28, 2008 at 5:07 am

    อ่า 🙂 คุณต้องกลับไปอ่าน paper ของ Ian Foster แล้วแหละครับ มันเป็น desgin ผมสรุปให้ฟังง่ายๆน่ะครับ OGSA เป็นสถาปัตยกรรมของการสร้าง app บนกริดโดยอิงกับ Web Services พูดง่ายๆมันคล้ายพิมพ์เขียวน่ะครับ ส่วน OGSI มันคล้ายๆกับรายการของอุปกรณ์และองค์ประกอบต่างๆ รวมทั้งวิธีการเพื่อให้ได้มาซึ่งพิมพ์เขียวใน OGSA ส่วน GT3 เป็นเหมือนบ้านที่สร้างตาม OGSA โดยใช้ OGSI

    เทียบกับ Java คือ OGSA เป็น interface, OGSI เป็น abstract class ส่วน GT3 เป็น concrete class แต่ OGSI มันเทอะทะและออกจะตามใจผู้พัฒนาใน globus.org มากไปหน่อย ไม่ตามใจตลาด ดังนั้น มันก็เลยโดนโละ

    สำหรับ GT4 ยังคง OGSA ไว้เช่นเดิม แต่เอาใจตลาดและเสียงจากภายนอกวงการกริด โดยเล็งไปที่ WSRF ซึ่งเป็นอะไรที่ตลาดฝันถึง ก็เลยเป็นที่มาของ GT4 ที่มีอยู่ 2 core คือ WS-CORE กับ NON WS-CORE นั่นแหละครับ ไอ้ตัวหลังเป็นส่วนที่ยังรักพี่เสียดายน้อง และก็เป็นข้อจำกัดที่ WS-CORE ยังทำไม่ได้หรือไม่เวิร์ค แต่ไม่ใช่ OGSI

  9. Modchip wii canada said, on August 16, 2012 at 8:09 am

    Additional persons split their Wii’s seeking to put in a modchip then for any other motive. The problem with a Wii Chip is that you could have to physically open up your Wii and established up the chip. Now you can with your Wii and the Wii delicate mod.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: