Hyrax - Configuring The OLFS To Work With Multiple BES's

From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽

Configuring Hyrax to use multiple BES backends is straight forward. It will require that you edit the olfs.xml file and possible the catalog.xml file.


Top Level BES

Every installation of Hyrax requires a top level (or root level) BES.** This BES has a prefix of "/" (the forward slash character).

In a single BES deployment this BES would contain all of the data resources to be made visible in Hyrax. In the THREDDS catalog.xml file each top level directory/collection would have it's own <datasetScan> element.


**Note: The word root here has absolutely nothing to do with the login account called root associated with the super user or system administrator.

Mount points

In a multiple BES installation each additional BES must have a mount point within the exposed hierarchy of collections for it to be visible in Hyrax. Eh? What's that you said? Allow me to explain by example.

Single BES Example

Here is the <BESConfig> section of an olfs.xml file that configures the OLFS to use a single BES, the default configuration arrangement for Hyrax:

    <BESConfig>
        <BES>
            <prefix>/</prefix>
            <host>localhost</host>
            <port>10002</port>
            <ClientPool maximum="10" />
        </BES>
    </BESConfig>

The BES is running on the same system as the OLFS, and it's prefix is correctly set to "/". This BES will handle all data requests direct at the OLFS and will expose it's top level directory/collection/catalog in the URI space of the OLFS here:

http://localhost:8080/opendap/

The THREDDS catalog.xml file for this should contain a <datasetScan> element for each of the top level directories/collections/catalogs that the BES exposes at the above URI.

Rmember: There must one (and only one) BES configured like this (with the <prefix> set to "/").

2 BES example

Here is the <BESConfig> section of an olfs.xml file that defines two BES's:

    <BESConfig>
        <BES>
            <prefix>/</prefix>
            <host>localhost</host>
            <port>10002</port>
            <ClientPool maximum="10" />
        </BES>
        
        <BES>
            <prefix>/sst</prefix>
            <host>comet.test.org</host>
            <port>10002</port>
            <ClientPool maximum="10" />
        </BES>
    </BESConfig>

The first one is running on the same system as the OLFS< the second on comet. test.org. The second BES is mapped to the prefix /sst. So the URL:

http://localhost:8080/opendap/

Will return the directory view at the top level of the first BES, running on the same system ads the OLFS. The URL:

http://localhost:8080/opendap/sst

Will return the directory view at the top level of the second BES, running on comet.test.org.

olfs.xml for multiple BES installations

Examples

Simple

Complex

Example: