Changes between Initial Version and Version 1 of installation_QCG_Broker

Show
Ignore:
Timestamp:
05/17/11 15:51:13 (13 years ago)
Author:
bartek
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • installation_QCG_Broker

    v1 v1  
     1[[PageOutline]] 
     2Contact: [mailto:piontek@man.poznan.pl Tomasz Piontek] [mailto:pkopta@man.poznan.pl Piotr Kopta] 
     3 
     4= QCG Broker Installation = 
     5The !QosCosGrid Resource Management System (QCG-Broker) is an open source meta-scheduling system, which allows developers to build and deploy resource management systems for large scale distributed computing infrastructures. The QCG-Broker, based on dynamic resource selection, mapping and advanced scheduling methodology, combined with feedback control architecture, deals with dynamic Grid environment and resource management challenges, e.g. load-balancing among clusters, remote job control or file staging support. Therefore, the main goal of the QCG-Broker is to manage the whole process of remote job submission to various batch queuing systems, clusters or resources. It has been designed as an independent core component for resource management processes which can take advantage of various low-level Core Services and existing technologies. Finally, the QCG-Broker can be considered as a robust system which provides abstraction of the complex grid infrastructure as well as a toolbox which helps to form and adapts to distributing computing environments. 
     6 
     7= Requirements = 
     8* '''Java (>= 1.5)'''\\ 
     9{{{ 
     10#!div style="font-size: 90%" 
     11For SL5.x 
     12{{{#!sh 
     13 # yum install java-1.6.0-sun-compat.x86_64 
     14}}} 
     15}}} 
     16* '''PostgreSQL (>= 7.0)''' - configured to allow TCP/IP connections from localhost (default configuration) 
     17{{{ 
     18#!div style="font-size: 90%" 
     19For SL5.x 
     20{{{#!sh 
     21 # yum install postgresql-server.x86_64 
     22}}} 
     23}}} 
     24 
     25 Start the PostgreSQL service: 
     26  service postgresql start 
     27* '''Apache Ant''' (>= 1.6) ("Optional tasks for ant" are required. For SL5.x the ''ant-nodeps.x86_64'' package must be installed) 
     28) 
     29{{{ 
     30#!div style="font-size: 90%" 
     31For SL5.x 
     32{{{#!sh 
     33 # yum install ant.x86_64 ant-nodeps.x86_64 
     34}}} 
     35}}} 
     36* '''xml-commons-apis''' - installation of this package is not mandatory, but is recommended to avoid confusing information about not important errors. 
     37{{{ 
     38#!div style="font-size: 90%" 
     39For SL5.x 
     40{{{#!sh 
     41 # yum install xml-commons.x86_64 xml-commons-apis.x86_64 
     42}}} 
     43}}} 
     44* '''certificates''' 
     45 * QCG-Broker' certificate and private key signed by one of trusted Certificate Authorities [CA], 
     46 * set of trusted CA certificates (must be coppied either into `/etc/grid-security/certificates` or `QCG-BROKER_USER_HOME/.globus/certificates` directory) 
     47 
     48For the PL-Grid Project install Polish Grid and PL-Grid Simpla-CA certificates: 
     49  
     50 wget https://dist.eugridpma.info/distribution/igtf/current/accredited/RPMS/ca_PolishGrid-1.38-1.noarch.rpm 
     51 rpm -i ca_PolishGrid-1.38-1.noarch.rpm  
     52  
     53 wget http://software.plgrid.pl/packages/general/ca_PLGRID-SimpleCA-1.0-2.noarch.rpm 
     54 rpm -i ca_PLGRID-SimpleCA-1.0-2.noarch.rpm  
     55  
     56 #install certificate revocation list fetching utility 
     57 wget https://dist.eugridpma.info/distribution/util/fetch-crl/fetch-crl-2.8.5-1.noarch.rpm 
     58 rpm -i fetch-crl-2.8.5-1.noarch.rpm 
     59  
     60 #get fresh CRLs now 
     61 /usr/sbin/fetch-crl  
     62  
     63 #install cron job for it 
     64 echo '#!/bin/sh' > /etc/cron.daily/fetch-crl.cron 
     65 echo '/usr/sbin/fetch-crl' >> /etc/cron.daily/fetch-crl.cron 
     66 chmod a+x /etc/cron.daily/fetch-crl.cron 
     67 
     68= Preparing the environment = 
     69 
     70'''IMPORTANT:''' Altought it's possible to install QCG-Broker service on any account (<tt>root</tt>, regular user) we strongly recommend to deploy QCG-Broker service on 
     71the account designated specifically for this service (<tt>qcg-broker</tt> for example). 
     72 
     73We recommend to create a new user (e.g. <code>qcg-broker</code>) that will be used by the service to run in unprivileged mode 
     74   
     75  mkdir -p /opt/QCG 
     76  useradd -d /opt/QCG/qcg-broker -m -s /bin/bash qcg-broker  
     77 
     78'''IMPORTANT:''' If you want to configure QCG-Broker to use its own list of trusted CA certificates, please do not forget to copy them into ''~/.globus/certificates'' directory. 
     79 
     80= Database setup = 
     81 
     82* Create new database user (e.g. qcg-broker) authenticated via password (the same password must be later used to setup QCG-Broker deployment): 
     83 su - postgres 
     84 createuser -P qcg-broker 
     85 
     86 Enter password for new role:  
     87 Enter it again:  
     88 Shall the new role be a superuser? (y/n) n 
     89 Shall the new role be allowed to create databases? (y/n) y 
     90 Shall the new role be allowed to create more new roles? (y/n) n 
     91 CREATE ROLE 
     92 
     93 exit 
     94 
     95 
     96* Create new database (e.g. qcg-broker) owned by the ''qcg-broker'' user: 
     97 su - qcg-broker 
     98 createdb -U qcg-broker qcg-broker 
     99 exit 
     100 
     101{{Note}} The ''qcg-broker'' user must be allowed to create new databases 
     102 
     103* Depending on the local PostgreSQL configuration you may need to edit the <code>pg_hba.conf</code> file  (''host based authentication'' configuration file) to enable password authentication to the ''qcg-broker'' database for the ''qcg-broker'' user. 
     104 
     105For SL5.x: edit the ''/var/lib/pgsql/data/pg_hba.conf'' file. 
     106 
     107If the PostgreSQL installation is fully dedicated for QCG-Broker replace the default configuration with rules (lines) given below, otherwise insert them to the configuration file in a proper place: 
     108 local   qcg-broker   qcg-broker                         md5 
     109 host    qcg-broker   qcg-broker   127.0.0.1/32          md5 
     110 
     111 
     112{{Note|}} You must reload the PostgreSQL server in order to make the changes visible e.g: 
     113 
     114 service postgresql reload 
     115 
     116=Installation= 
     117 
     118'''IMPORTANT:''' Perform the installation as the "qcg-broker" user. 
     119 su - qcg-broker 
     120 
     121* download the QCG-Broker archive from [http://node2.qoscosgrid.man.poznan.pl/~piontek/qcg-broker/qcg-broker.tgz qcg-broker.tgz] 
     122 wget http://node2.qoscosgrid.man.poznan.pl/~piontek/qcg-broker/qcg-broker.tgz 
     123 
     124* unpack the archive 
     125 tar xzf qcg-broker.tgz 
     126 
     127== Compilation [Optional step]== 
     128The distribution contains precompiled version of QCB-Broker, that can be deployed as it is. The compilation step is optional and can be skiped, except the situation in which some specific compiler options should be added or changed. 
     129 
     130* compile sources 
     131 cd qcg-broker-<VERSION> 
     132 ant rebuildall 
     133 
     134== Setup == 
     135* setup deployment configuration - all configuration variables are placed in the <tt>deploy.prop</tt> file 
     136** '''deploy.dir''' directory where QCG-Broker will be deployed. This directory must not exist, so before deployment this directory must be eventually removed by hand. Later we assume that QCG-Broker was installed into ''/opt/QCG/qcg-broker/service'' directory.  
     137** '''deploy.certs.dir''' directory with QCG-Broker credentials (must contain ''grmscert.pem'' and ''grmskey.pem'') 
     138** '''deploy.cert.dn''' distinguish name of QCG-Broker credential 
     139** '''deploy.db.user''' PostgreSQL user name 
     140** '''deploy.db.pwd''' Password for PostgreSQL user 
     141** '''deploy.db.host''' PostgreSQL database host name (''127.0.0.1'' by default. If PostgreSQL service is on the same host as QCG-Broker, this property should not be changed. Otherwise some changes in PostgreSQL configuration (''pg_hba.conf'' file) may be needed). 
     142** '''deploy.db.name''' PostgreSQL database name 
     143** '''deploy.https_port''' the port which QCG-Broker will be listening for https requests on 
     144** '''deploy.rmi_port''' the port needed for internal communication between QCG-Broker components. 
     145** '''deploy.shutdown_port''' the port which the tomcat will be listening for shutdown requests on 
     146 
     147* setup QCG-Broker database 
     148 cd qcg-broker-<VERSION> 
     149 ant -f build.deploy.xml setupdb 
     150 
     151== Deployment == 
     152Process of deployment is responsible for copping the QCG-Broker distribution to destination directory and configuring the service. 
     153 
     154* Deploy QCG-Broker service 
     155 
     156 ant deploy 
     157 
     158= Configuration = 
     159 
     160* Edit the ''QCG-BROKER-DEPLOY_DIR/broker/etc/providers.list'' file specyfying list of resource providers (instances of QCG-BES services controling resources and creating together virtual pool of resources) 
     161 
     162providers.count=<n> - number of providers<br/> 
     163 
     164For x=0 to n-1 define locations of domain providers<br/> 
     165provider.x.domain=<DOMAIN> - name of the administrative domain, which resources controlled by the given provider belong to,<br/> 
     166provider.x.type=smoa - type of the provider, DO NOT CHANGE THIS VALUE,<br/> 
     167provider.x.id=<PROVIDER ID> - identifier of the provider (must be globally unique),<br/> 
     168provider.x.location=<LOCATION>  - address of provider service<br/> 
     169 
     170For example: 
     171 
     172<pre> 
     173# how many providers should be used for testing 
     174providers.count=1 
     175 
     176provider.0.domain=PSNC 
     177provider.0.id=qcg_cluster 
     178provider.0.type=qcg-bes 
     179provider.0.location=httpg://qcg.man.poznan.pl:19000 
     180</pre> 
     181 
     182* For cross-clusters job submission, edit ''QCG-BROKER_DEPLOY_DIR/broker/etc/config.prop'' file, and set following variables: 
     183** '''broker.qoscos.proactive.pncURL''' - ProActvie node coordinator address 
     184** '''broker.qoscos.ompi.pncURL''' - OpenMPI node coordinator address 
     185 
     186See [[QCG-ProActive Coordinator]], [[QCG-OMPI Coordinator]] for detailed information about installation of 'ProActive' and 'OpenMPI' node coordinators. 
     187 
     188= Resource Providers setup = 
     189To allow QCG-Broker  to create and manage advance reservations on resources accessible via [[SMOA Computing]] service some additional configuration steps are needed on Administrative Domain level.  
     190* the QCG-Broker credential must be mapped (in the <code>grid-mapfile</code> file) to the local user that is authorized to create and manage reservations. Usually the LRMS administrator user (like <code>sgeadmin</code> in SGE or <code>lsfadmin</code> in LSF) has sufficient rights, e.g.: 
     191 "/C=PL/O=GRID/O=PSNC/CN=qcg-broker/qcg.man.poznan.pl" sgeadmin 
     192 
     193= Starting the service = 
     194As the qcg-broker user type: 
     195 cd /opt/QCG/qcg-broker/service 
     196 ./broker/bin/start-broker.sh 
     197 ./service/bin/startup.sh 
     198 
     199'''IMPORTANT:''' Do not forget to set ''JAVA_HOME'' or ''JRE_HOME'' environment variables. 
     200 
     201= Stopping the service = 
     202 
     203As the qcg-broker user type: 
     204 cd /opt/QCG/qcg-broker/service 
     205 ./broker/bin/stop-broker.sh 
     206 ./service/bin/shutdown.sh 
     207 
     208= Veryfing the installation = 
     209To verify the installtion please use [[QCG-BROKER CLIENT]].