Software Links
Getting Started
- A Globus Primer
- Globus Is Modular!
- Quickstart
- Installing GT
- Platform Notes
- GT Developer's Guide
- GT User's Guide
- Migrating Guides
Reference
Manuals
Common Runtime
Security
- GSI C
- GSI Java
- Java WS A&A
- C WS A&A (coming soon)
- CAS
- Delegation Service
- MyProxy
- GSI-OpenSSH
- SimpleCA
Data Mgt
WS MDS
Execution Mgt
Table of Contents
RLS is built and installed as part of the Globus Toolkit installation. This section provides instructions specific to building and installing RLS. Most of this section concerns the optional setup and configuration of a database management system (DBMS) and database connectivity (ODBC) software for the RLS server. By default, the RLS is installed and automatically configured to use an embedded database. No additional steps are required unless you wish to configure RLS to use your own ODBC-compliant database management system.
By default, the RLS is installed and automatically configured to use an embedded database. If you wish to use the default configuration, you may skip this section and proceed to Section 2, “Installation of RLS” If you wish to use your own ODBC-compliant database management system, please review this section carefully.
The RLS depends on DBMS and ODBC software. If you are not familiar with DBMS and ODBC software, you may need to familiarize yourself with these tools before proceeding with RLS installation. Most of the difficulty users experience when installing RLS is actually due to DBMS and ODBC issues, which are often beyond our control.
The following list summarizes the prerequisite database software:
- Section 1.1, “Database Management System”: for persistent storage of replica location information
- Section 1.2, “ODBC Manager”: for vendor-neutral connectivity to DBMS
- Section 1.3, “ODBC Driver”: for vendor-specific connectivity to DBMS from ODBC Managers
When using this guide, please consult the vendor and official project sites for authoritative information on DBMS and ODBC software. Any additional information provided on this site is intended as helpful advice and only reflects our limited experiences as fellow users of the software.
The RLS depends on a DBMS for persistent storage of replica location information. The RLS is designed to work with MySQL, PostgreSQL, SQLite, and Oracle DBMS software. In the case of MySQL, it is important to use the transaction-capable InnoDB database engine. For complete information on installation and configuration of third-party DBMS software, please refer to:
We provide the following tips from the troubleshooting section of this guide:
- Section 4, “I need help installing PostgreSQL DBMS”
- Section 5, “How can I check if PostgreSQL is installed correctly?”
- Section 6, “I cannot connect to PostgreSQL”
- Section 7, “Performance of RLS with PostgreSQL has degraded over time”
- Section 2, “I need help installing MySQL DBMS”
- Section 3, “How can I check if MySQL is installed correctly?”
- Section 8, “I need help installing SQLite embedded database”
- Section 9, “How can I check if SQLite is installed correctly?”
The RLS depends on an ODBC manager for standardised database connectivity. The unixODBC or iODBC libraries may be used for this purpose. Please confirm that one of these libraries is installed and configured before proceeding with RLS installation. If you need more information on the ODBC managers, consult their respective project home pages.
You may also find that unixODBC or (less likely) iODBC are included along with a vendor's odbc driver. This appears to be the case with MySQL Connector/ODBC drivers at the time of writing this document.
We provide the following tips from the troubleshooting section of this guide:
![]() | Note |
|---|---|
If you are installing RLS from a Globus Toolkit binary bundle, you do not need to install the unixODBC or iODBC software. The binary installation of RLS is linked to iODBC version 3.51.2 included with the GT bundle. |
The RLS depends on an ODBC driver for vendor-specific database connectivity via the vendor neutral ODBC manager. For each vendor you will find a related ODBC driver. You may find relevant information at the following sites:
- psqlODBC the official PostgreSQL ODBC Driver
- MySQL Connector/ODBC offered directly by MySQL (note: use the 3.51 branch)
- SQLite ODBC Driver a freely available ODBC driver for SQLite
- Consult Oracle for details on ODBC Driver for Oracle DBMS
We provide the following tips from the troubleshooting section of this guide:
We have used or know of users who have used the following combinations of software packages on the following platforms. What we provide in this section is a small subset of available options when choosing DBMS & ODBC software.
Table 1. Database & ODBC Observations
| Architecture | OS | Distribution | ODBC Manager | ODBC Driver | DBMS |
| PPC | OS X | Apple | unixODBC-2.2.11* | TBD | TBD |
| SPARC, 32-bit | Solaris | Sun | libiodbc-3.51.2 | MyODBC-3.51.06 | mysql-standard-4.0.18 |
| SPARC, 32-bit | Solaris | Sun | libiodbc-3.51.2 | MyODBC-3.51.12 | mysql-4.0.16 |
| SPARC, 32-bit | Solaris | Sun | unixODBC-2.2.11 | MyODBC-3.51.12 | mysql-4.0.16 |
| SPARC, 32-bit | Solaris | Sun | unixODBC-2.2.11 | TBD | TBD |
| x86 | Linux | RedHat | libiodbc-3.51.1 | MyODBC-3.51.06 | mysql-standard-4.0.18 |
| x86 | Linux | RedHat | libiodbc-3.51.2 | MyODBC-3.51.06 | mysql-standard-4.0.18 |
| x86 | Linux | RedHat | libiodbc-3.52.4 | MyODBC-3.51.06 | mysql-standard-4.0.18 |
| x86 | Linux | RedHat | libiodbc-3.52.4 | psqlodbc-7.2.5 | postgresql-7.4.6 |
| x86 | Linux | RedHat | libiodbc-3.51.2 | psqlodbc-08.00.0102 | postgresql-7.4.6 |
| x86 | Linux | RedHat | libiodbc-3.51.2 | sqliteodbc-0.69 | sqlite-3.3.6 |
| x86 | Linux | RedHat | unixODBC-2.2.11 | MyODBC-3.51.06 | mysql-standard-4.0.18 |
| x86 | Linux | RedHat | unixODBC-2.2.11 | mysql-connector-odbc-3.51.12 | mysql-standard-4.0.18 |
| x86 | Linux | RedHat | unixODBC-2.2.11 | mysql-connector-odbc-3.51.12 | mysql-standard-5.0.21 |
| x86 | Linux | RedHat | unixODBC-2.2.11 | psqlodbc-7.2.5 | postgresql-7.4.6 |
| x86 | Linux | RedHat | unixODBC-2.2.11 | psqlodbc-08.00.0102 | postgresql-7.4.6 |
| x86 | OS X | Apple | TBD | TBD | TBD |
| x86_64 | Linux | SuSE | unixODBC-2.2.8-35 | MyODBC-unixODBC-3.51.06-121 | mysql-client-4.0.18-25 |
| x86_64 | Linux | SuSE | unixODBC-2.2.8-35 | psqlodbc-08.00.0102 | postgresql-7.4.9 |
(*) See troubleshooting tip Section 12, “Building unixODBC failed on OS X”
If you build from source, be aware that some versions of a vendor's drivers do not build against some versions of the same vendor's clients. For instance, MySQL Connector/ODBC 3.51.06 does not appear to build againt MySQL 4.1.x client libraries, instead it requires MySQL 4.0.x client libraries. Also, we have noticed that psqlodbc-07.03.x will build against pgsql-7.4.x but when using the driver it fails with little or no information to indicate why it failed. We have found that psqlodbc-08.00.x works well with postgres-7.4.6. In all cases, consult the vendor's documentation.
Support RLS development by sending your working RLS + ODBC Manager + ODBC Driver + RDBMS configuration to the rls-user@globus.org list! We cannot test on all platforms with all combinations so we rely on our user community to help advise new users. Your support in this matter is appreciated.
We provide the following tips from the troubleshooting section of this guide:
The following section describes various options available to install RLS given that you have satisfied the prerequisites. The options include:
![]() | Note |
|---|---|
If you set the |
Follow instructions provided by Installing GT 4.2.0 and Installing GT in order to install the RLS from one of the available binary bundles of the Globus Toolkit. As noted in Section 1.2, “ODBC Manager”, the globus-rls-server found in the binary bundles is linked to the default ODBC Manager.
Once you have unpackaged the binary bundle, the following commands may be used to install RLS (the --enable-rls option is not required):
% ./configure --prefix=$GLOBUS_LOCATION --enable-rls
% make
% make install
Follow instructions provided by Installing GT 4.2.0 and Installing GT in order to install the RLS from the available source bundle of the Globus Toolkit. In addition to the general requirements, you may optionally set environment variables pertaining to the include and lib path for your ODBC Manager installation. The following environment variables are not required to install RLS.
If you wish to use unixODBC, set the following environment variables.
% setenv GLOBUS_UNIXODBC_INCLUDES /path/to/unixODBC/include
% setenv GLOBUS_UNIXODBC_LIBS /path/to/unixODBC/lib
If you wish to use iODBC, set the following environment variables.
% setenv GLOBUS_IODBC_INCLUDES /path/to/libiodbc/include
% setenv GLOBUS_IODBC_LIBS /path/to/libiodbc/lib
![]() | Note |
|---|---|
Your shell format for setting environment variables may be |
Alternatively, instead of setting the above environment variables you may choose to specify the includes and libs path for your ODBC Manager using the Globus Toolkit configure script's options, which include --with-unixodbc-includes=DIR and --with-unixodbc-libs=DIR or --with-iodbc-includes=DIR and --with-iodbc-libs=DIR.
Once you have unpackaged the source bundle, the following commands may be used to install RLS (the --enable-rls option is not required):
% ./configure --prefix=$GLOBUS_LOCATION --enable-rls
% make
% make install
In some situations, you may wish to update an RLS installation using RLS source from the Globus Toolkit Source Bundle. For instance, the RLS found in the Globus Toolkit binary bundles is linked against an ODBC Manager. If you would like to link to a different ODBC Manager, it may be easier to install the toolkit from the binary bundle and just update the RLS server package from source. This may save considerable time compared to building the entire Globus Toolkit from source.
To do this, you must first follow the complete instructions found in Section 2.1, “Installing RLS using Globus Toolkit Binary Bundle” then set the environment according to the instructions found in Section 2.2, “Installing RLS using Globus Toolkit Source Bundle”. If you have not already set the GPT_LOCATION then set it to the GLOBUS_LOCATION (i.e., setenv GPT_LOCATION $GLOBUS_LOCATION).
Once you have unpackaged the source bundle, the following commands may be used to install RLS:
% cd source-trees-thr/replica/rls/server/
% $GPT_LOCATION/sbin/gpt-build -verbose -force gcc32dbgpthr
...
% $GPT_LOCATION/sbin/gpt-postinstall
...
You may select a flavor other than gcc32dbgpthr that is suitable to your platform and existing installation environment. You may omit the -verbose flag.
By default, the RLS embedded database and related settings are automatically created and configured. Unless you chose to setup your own database management system for use with the RLS, you may skip this section and proceed to Configuring RLS.
The following section describes the procedures necessary to complete the database setup for your RLS installation. Topics addressed include:
![]() | Note |
|---|---|
The rest of this section assumes that the DBMS has been started. |
Decide which database(s) the RLS server will use:
- If the RLS server is a Local Replica Catalog (LRC) server you, will need to create the LRC database.
- If the server is a Replica Location Index (RLI) server, you may need to create a RLI database.
An RLI server can receive updates from LRC servers in one of two forms, as LFN lists (in which case the RLI database must be created) or as highly compressed Bloom filters. Since Bloom filters are relatively small, they are kept in memory and no database is required (though if you plan to use the hierarchical RLI updates feature, you will still need the RLI database). An RLS server can be configured as both an LRC and RLI server.
The RLS Server configuration file ($GLOBUS_LOCATION/etc/globus-rls-server.conf) contains a few settings related to your database setup. Throughout this guide we refer to the username as dbuser and the password as dbpassword and to the LRC database as lrc1000 and the RLI database as rli1000. Substitute your chosen username, password, and database names where applicable. Also, you may change the odbcini setting to reflect the location of your ODBC Manager's odbc.ini file. You should be familiar with the location of this file from the installation of your ODBC Manager. As of the GT 4.1.x release, the RLS setup includes a default odbc.ini file installed to $GLOBUS_LOCATION/var/odbc.ini which is the initial default value of the odbcini configuration parameter. We discuss more about odbc.ini in Section 3.5, “Specify Data Source Names (DSNs)”.
Edit the following fields in $GLOBUS_LOCATION/etc/globus-rls-server.conf:
# Database connection options
db_user dbuser
db_pwd dbpasswordgoeshere
odbcini /path/to/var/odbc.ini
...
# LRC options
lrc_server true
lrc_dbname lrc1000 # optional (if LRC server)
...
#RLI options
rli_server true
rli_dbname rli1000 # optional (if RLI server)
...
rli_bloomfilter false
...
You or your system administrator must create a DBMS user account to be used by the RLS Server to log on to the DBMS. SQLite users may safely skip this step.
For MySQL users, the command may look something like this:
% /path/to/mysql/bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 71 to server version: 4.0.18-standard-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use mysql;
Database changed
mysql> grant all on lrc1000.* to dbuser@localhost identified by 'dbpassword';
mysql> grant all on rli1000.* to dbuser@localhost identified by 'dbpassword';
For PostgreSQL user, the command may look something like this:
% /path/to/pgsql/bin/createuser -P dbuser -W
Enter password for new user:
Enter it again:
Shall the new user be allowed to create databases? (y/n) y
Shall the new user be allowed to create more new users? (y/n) n
Password:
CREATE USER
We provide SQL Data Definition (DDL) scripts to create the databases required by the RLS Server. Configure the script(s) for the database(s) you will create. The SQL scripts for the LRC and RLI databases are installed in $GLOBUS_LOCATION/setup/globus.
For PostgreSQL, use:
globus-rls-lrc-postgres.sqlglobus-rls-rli-postgres.sql
For MySQL, use:
globus-rls-lrc-mysql.sqlglobus-rls-rli-mysql.sql
For SQLite, use:
globus-rls-lrc-sqlite.sqlglobus-rls-rli-sqlite.sql
For Oracle DBMS, use:
globus-rls-lrc-oracle.sqlglobus-rls-rli-oracle.sql
Edit these files to set the name of the database user you created for RLS and the names of the databases configured in $GLOBUS_LOCATION/etc/globus-rls-server.conf.
Create the database(s) using the appropriate tool for your chosen DBMS.
For PostgreSQL, the commands should look like this:
% createdb -O dbuser -U dbuser -W lrc1000 % createdb -O dbuser -U dbuser -W rli1000 % psql -W -U dbuser -d lrc1000 -f $GLOBUS_LOCATION/setup/globus/globus-rls-lrc-postgres.sql % psql -W -U dbuser -d rli1000 -f $GLOBUS_LOCATION/setup/globus/globus-rls-rli-postgres.sql
For MySQL, the commands should look like this:
% mysql -p -u dbuser < $GLOBUS_LOCATION/setup/globus/globus-rls-lrc-mysql.sql % mysql -p -u dbuser < $GLOBUS_LOCATION/setup/globus/globus-rls-rli-mysql.sql
For SQLite, the commands should look like this:
% sqlite3 $GLOBUS_LOCATION/var/globus-rls-lrc1000.db < $GLOBUS_LOCATION/setup/globus/globus-rls-lrc-sqlite.sql % sqlite3 $GLOBUS_LOCATION/var/globus-rls-rli1000.db < $GLOBUS_LOCATION/setup/globus/globus-rls-rli-sqlite.sql
Data Source Names (DSNs) are used by ODBC software (and the applications that depend on ODBC software) to define connection settings between the database client and the DBMS. The RLS depends on the data source names configured in Section 3.2, “Configure database related RLS settings” for the lrc_dbname and rli_dbname settings.
DSNs are configured in a file named odbc.ini. Most ODBC Managers find this file in the following search order.
- The
ODBCINIenvironment variable with value of/path/to/odbc.ini - The user odbc.ini found at
~/.odbc.ini - The system odbc.ini found at
/etc/odbc.inior similar location
DSNs may be configured in a variety of ways, but they essentially contain the same information which includes:
- DSN such as lrc1000 or rli1000
- Driver: the path to the ODBC driver (such as psqlodbc.so, libmyodbc3.so, or libsqlite3odbc.so)
- Database: the name of the database (in the case of SQLite, this parameter's value will indicate the path to the database file)
- Server name: the hostname of the DBMS server
- Port: the port number of the DBMS server
- Socket: in some cases a local socket file is used if the DBMS and RLS are installed on the same server
As of the Globus Toolkit 4.1.x release, the RLS setup includes a default odbc.ini file installed to $GLOBUS_LOCATION/var/odbc.ini. The settings of the included odbc.ini are appropriate for usage with the psqlODBC driver and reference psqlODBC libraries installed to $GLOBUS_LOCATION/lib/psqlodbc.so, which is the location of the libraries as installed by the Globus Toolkit binary installer and the source installer by using the make globus_database_psqlodbc target. When using the installed odbc.ini file, you may still need to set your ODBCINI environment variable to the odbc.ini file's location.
We provide the following tips from the troubleshooting section of this guide:
![[Note]](/docbook-images/note.gif)