Hyrax: BES Administrative Commands: Difference between revisions

From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽
Line 58: Line 58:


===== Response Example =====
===== Response Example =====
 
Returns the bes.conf file
<hai:BesConfig>
 
    #-----------------------OPeNDAP BES Initialization file-----------------#
    #                                                                      #
    #      National Center for Atmospheric Research (NCAR)                #
    #      High Altitude Observatory (HAO)                                 #
    #      Key entries for OPeNDAP BES run time behavior                  #
    #                                                                      #
    #-----------------------------------------------------------------------#
     
    #-----------------------------------------------------------------------#
    # Who is the administrator for this OPeNDAP back-end server            #
    # Please replace this with the email address to use that gets displayed #
    # to users of your server when errors occur.                            #
    #-----------------------------------------------------------------------#
    BES.ServerAdministrator=admin.email.address@your.domain.name
   
    #-----------------------------------------------------------------------#
    # User and Group to run the BES as #
    #-----------------------------------------------------------------------#
    # Notes:
    # 1. The user_name and group_name can be user and group ids. To use
    # a user or group id specify the id with the '#' character in front.
    # For example:
    # BES.User=#172
    # BES.Group=#14
    BES.User=user_name
    BES.Group=group_name
   
    #-----------------------------------------------------------------------#
    # Where we log the stuff...and how much we log                          #
    #-----------------------------------------------------------------------#
    BES.LogName=/usr/local/opendap/servers/hyrax-1.8.0/var/bes.log
    BES.LogVerbose=no
   
    #-----------------------------------------------------------------------#
    # Setting data information
    #-----------------------------------------------------------------------#
   
    # There are two ways the BES can be used. It can serve as a standalone
    # data server or it can work with the OLFS (i.e., as one component of
    # the OPeNDAP 4 Data Server Hyrax). How you point to data differs for
    # each of the two cases. Most users will be using the BES with the OLFS
    # as part of the OPeNDAP 4 Data Server Hyrax. In this case, set the
    # parameter below, BES.Catalog.catalog.RootDirectory, to point to the
    # root directory that contains the data you want to serve. In this case
    # the value of the 'BES.Data.RootDirectory' parameter, set below to
    # /dev/null, doesn't matter, so long as it has some value.
   
    BES.Catalog.catalog.RootDirectory=/Users/ndp/OPeNDAP/Projects/Hyrax/SVNDataProject
   
    #-----------------------------------------------------------------------#
    # NOTE: It is unlikely that you will need to change anything under      #
    #      this comment.                                                  #
    #-----------------------------------------------------------------------#
   
    #-----------------------------------------------------------------------#
    # modules to load, includes data modules and command modules            #
    #-----------------------------------------------------------------------#
   
    # Notes:
    # 1. All module configuration files will be located under
    # <prefix>/etc/bes/modules. No modules are loaded in this configuration
    # file. The module configuration files are included at the very bottom
    # of this file. And the module configuration files add to this
    # parameter.
    #
    BES.modules=
   
    #-----------------------------------------------------------------------#
    # Setting the data location
    #-----------------------------------------------------------------------#
   
    # If you intend to use the BES as a standalone server, set the value of
    # 'BES.Data.RootDirectory' to point to your data and disregard the
    # 'BES.Catalog.catalog.RootDirectory' parameter in dap.conf.
    #
    # The default value of RootDirectory is /dev/null, which means that
    # BES.Data.RootDirectory is not used and BES.Catalog.catalog.RootDirectory
    # is used from dap.conf. If you want to use this parameter instead, set
    # it to <prefix>/share/hyrax, where prefix is the installation directory
    # for the BES. This will work with the sample data we include with
    # various format handlers distributed for use with the BES. Or you'll need
    # to change this to point to your data! At this time the BES does not
    # support multiple RootDirectory values.
   
    BES.Data.RootDirectory=/dev/null
   
    # Is the BES allowed to follow symbolic links when requesting catalog
    # information. The default is to not allow the BES to follow symbolic links.
    # The values can be either No or Yes. If set to No, and the user requests
    # catalog information on a symbolic link then an error is reported and if a
    # symbolic link is contained within a collection, it is not included in the
    # response. If set to Yes then the requested node in the catalog is treated
    # like any other node.
    #
    # BES.FollowSymLinks parameter is for non-catalog containers and is used in
    # conjunction with the BES.RootDirectory above. It is NOT a general setting.
   
    BES.FollowSymLinks=No
   
    #-----------------------------------------------------------------------#
    # connection information, unix socket, port number, and whether server  #
    # is secure or not. If you are using this option, make sure the BES is  #
    # behind a firewall which blocks the BES.ServerPort unless you intend  #
    # to provide direct access to the BES for the world. In general, if    #
    # that is the case, you should configure the BES to use SSL.            #
    #-----------------------------------------------------------------------#
    BES.ServerPort=10002
    # BES.ServerUnixSocket=/tmp/bes.socket
   
    #-----------------------------------------------------------------------#
    # To communicate with the besdaemon, use the port or unix socket given  #
    # below. If one of these values is not given, then the command interface#
    # will not be available (and the daemon will not listen on the port or  #
    # socket. If you do use the interface, make sure to protect it from    #
    # outside access using a firewall. Please re-read that last sentence.  #
    #-----------------------------------------------------------------------#
   
    BES.DaemonPort=11002
   
    #-----------------------------------------------------------------------#
    # Security information for this server. ServerSecure specifies whether  #
    # the server is secure or not and requires authentication of the client #
    # using SSL certificates and keys. The default secure connection port  #
    # is 10003. Then specify the full path to the certificate and key files.#
    # An initialization file can be created for both the client and server  #
    # side.                                                                #
    #-----------------------------------------------------------------------#
    BES.ServerSecure=no
    BES.ServerSecurePort=10003
    BES.ServerCertFile=/full/path/to/serverside/certificate/file.pem
    BES.ServerCertAuthFile=/full/path/to/serverside/certificate/authority/file.pem
    BES.ServerKeyFile=/full/path/to/serverside/key/file.pem
    BES.ClientCertFile=/full/path/to/clientside/certificate/file.pem
    BES.ClientCertAuthFile=/full/path/to/clientside/certificate/authority/file.pem
    BES.ClientKeyFile=/full/path/to/clientside/key/file.pem
   
    #-----------------------------------------------------------------------#
    # help file locations, for text, html, and xml versions                #
    #-----------------------------------------------------------------------#
    BES.Help.TXT=/usr/local/opendap/servers/hyrax-1.8.0/share/bes/bes_help.txt
    BES.Help.HTML=/usr/local/opendap/servers/hyrax-1.8.0/share/bes/bes_help.html
    BES.Help.XML=/usr/local/opendap/servers/hyrax-1.8.0/share/bes/bes_help.xml
   
    #-----------------------------------------------------------------------#
    # Should informational response objects be buffered, or streamed        #
    # Should informational objects be formatted as text, html, or xml      #
    #-----------------------------------------------------------------------#
    BES.Info.Buffered=no
    BES.Info.Type=xml
   
    #-----------------------------------------------------------------------#
    # Cache and compression configuration                                  #
    #                                                                      #
    # If a data file is compressed the BES will attempt to uncompress it.  #
    #                                                                      #
    #-----------------------------------------------------------------------#
   
    # Currently the bz2 and gz file compression methods are understood by the
    # BES. We will add support for Z (Unix compress) if there's demand for it.
   
    # All of the following five parameters must be set in this file.
   
    # BES.CacheDir: Where should the result of decompressing a file be stored?
    # We've set the value to '/tmp' but you might want to change that to
    # /tmp/bes, /var/cache/bes, et c., depending on the server-host's
    # organization.
   
    # BES.CachePrefix: Prefix for the name of the file used to store the result
    # of decompression.
   
    # BES.CacheSize: Size of the cache in megabytes. When the size of the cached
    # files exceeds this value, the cache will be purged using a
    # last-accessed-first-removed approach. Because it's usually impossible to
    # determine the sizes of data files before decompressing them, there may be
    # times when the cache holds more data than this value. Ideally this value
    # should be several times the size of the largest file you plan to serve.
   
    # BES.Uncompress.Retry: When waiting for the cache lock, how long should the
    # BES wait before trying to get the lock again if previous attempts have
    # failed?
   
    # BES.Uncompress.NumTries: How many times should the BES try to acquire the
    # lock before it signals an error?
   
    # The BES cache directory is locked to prevent the different beslistener
    # processes from simultaneously removing files and leaving the cache in an
    # inconsistent state. Use the Retry and NumTries parameters to tune this
    # behavior. Generally, NumTries should be set to about 10. The units of Retry
    # are microseconds. To tune the NumTries and Retry, use the formula Retry =
    # (0.2s/Average_file_sizeMB)/NumTries. So if your average file size is 10MB
    # and you've settled on a NumTries of 10, (0.2s/10MB)/10 = 0.002s or 2000
    # microseconds. If you have really large files (e.g., decompressed they are
    # 500MB), try setting NumTries to 100.
   
    BES.CacheDir=/tmp
    BES.CachePrefix=bes_cache
    BES.CacheSize=500
    BES.Uncompress.Retry=2000
    BES.Uncompress.NumTries=10
   
    #-----------------------------------------------------------------------#
    # If the symbolic name cannot be found in persistence, nice means simply#
    # log an error, strict means throw an exception                        #
    #-----------------------------------------------------------------------#
    BES.Container.Persistence=strict
   
    #-----------------------------------------------------------------------#
    # Defines the TCP buffer size to use in sending and receiving data in  #
    # the BES. With these parameters you will be able to maximize the      #
    # TCP capacity of the client and server communication by setting the #
    # size of the internal BES buffers to match that of your systems TCP #
    # window sizes. System administratos can tune the TCP window sizes in #
    # the kernal. If this is done, set these parameters to match those #
    # buffer sizes set in the kernel. Or, if your system supports dynamic #
    # TCP window sizes, as many are doing these days, then leave the #
    # SetSock*Size parameters to No and the BES will interogate the socket #
    # for the buffer sizes. #
    # #
    # The TCP window size should be equal to the Bandwidth*Delay Product #
    # (BDP). This is the number of bytes in flight to fill the entire path, #
    # and is equal to the connection speed times the RTT( Round-Trip Time) #
    # divided by 2. For example, if you have a 100 Mbps path and the RTT is #
    # 75 ms, the BDP = 100 * 0.075 / 2 = 3.75 Mbits (470 KB). #
    # #
    # If you are not sure what to do here, we recommend that you leave #
    # these values set as is. #
    # #
    # BES.SetSockRecvSize=No|Yes - if set to no, then do not set the TCP #
    #                              TCP receive buffer size. If set to yes #
    #                              then set the TCP receive buffer size to #
    #                              the value specified by BES.SockRecvSize #
    #                              Default is No, use the system TCP window #
    #                              size. #
    # BES.SockRecvSize=<number> - This value should be set to the size, in #
    #                              bytes, of the TCP receive buffer size. #
    # BES.SetSockSendSize=No|Yes - if set to no, then do not set the TCP #
    #                              TCP send buffer size. If set to yes #
    #                              then set the TCP send buffer size to #
    #                              the value specified by BES.SockSendSize. #
    #                              Default is No, use the system TCP window #
    #                              size. #
    # BES.SockSendSize=<number> - This value should be set to the size, in #
    #                              bytes, of the TCP send buffer size. #
    #-----------------------------------------------------------------------#
    BES.SetSockRecvSize=No
    BES.SockRecvSize=65535
    BES.SetSockSendSize=No
    BES.SockSendSize=65535
   
    #-----------------------------------------------------------------------#
    # Defines size of system global memory pool                            #
    #-----------------------------------------------------------------------#
    BES.Memory.GlobalArea.EmergencyPoolSize=1
    BES.Memory.GlobalArea.MaximumHeapSize=20
    BES.Memory.GlobalArea.Verbose=no
    BES.Memory.GlobalArea.ControlHeap=no
   
    #-----------------------------------------------------------------------#
    # This key is set to either single or multiple mode.            #
    #                                                                      #
    # In single mode the listener handles the client request itself, and    #
    # only one client can connect at a time                                #
    #                                                                      #
    # In multiple mode the listener listens for client connections. When a  #
    # connection is made it forks another bes process to handle that client #
    # connection and goes back to listening for more connections. More than #
    # one client can connect at a time                                      #
    #-----------------------------------------------------------------------#
    BES.ProcessManagerMethod=multiple
   
    #-----------------------------------------------------------------------#
    # Is the client using the GET or POST method of making requests to a    #
    # back-end server that is a built-in web server module. If the back-end #
    # server is not a web server module, this key/value pair is not used    #
    #-----------------------------------------------------------------------#
    BES.DefaultResponseMethod=POST
   
    #-----------------------------------------------------------------------#
    # Include all module configuration files in the <prefix>/etc/bes/modules#
    # directory #
    #-----------------------------------------------------------------------#
    BES.Include=modules/.*\.conf$
   
</hai:BesConfig>


===== Request Example =====
===== Request Example =====

Revision as of 21:50, 26 May 2011

BES Administration Commands

Namespace: http://xml.opendap.org/ns/bes/admin/1.0#

<?xml version="1.0" encoding="UTF-8"?>
 <hai:BesAdminCmd xmlns:hai="http://xml.opendap.org/ns/bes/admin/1.0#">
     <hai:Stop />
 </hai:BesAdminCmd>


StopNow

Example:

<hai:StopNow/>

Stops all beslistener processes; does not wait for current transmissions to complete


Request Example
<?xml version="1.0" encoding="UTF-8"?>
 <hai:BesAdminCmd xmlns:hai="http://xml.opendap.org/ns/bes/admin/1.0#">
     <hai:StopNow/>
 </hai:BesAdminCmd>
Response Example
<?xml version="1.0" encoding="UTF-8"?>
 <hai:BesAdminCmd xmlns:hai="http://xml.opendap.org/ns/bes/admin/1.0#">
     <hai:OK/>
 </hai:BesAdminCmd>
<?xml version="1.0" encoding="UTF-8"?>
 <hai:ParseError xmlns:hai="http://xml.opendap.org/ns/bes/admin/1.0#">
     message text
 </hai:ParseError>
<?xml version="1.0" encoding="UTF-8"?>
 <hai:BESError xmlns:hai="http://xml.opendap.org/ns/bes/admin/1.0#">
     message text
 </hai:BESError>



GetConfig

Example:

<hai:GetConfig />

Retrieves the BES configuration file.


Request Example
<?xml version="1.0" encoding="UTF-8"?>
 <hai:BesAdminCmd xmlns:hai="http://xml.opendap.org/ns/bes/admin/1.0#">
     <hai:GetConfig />
 </hai:BesAdminCmd>
Response Example
<hai:BesConfig>
   #-----------------------OPeNDAP BES Initialization file-----------------#
   #                                                                       #
   #       National Center for Atmospheric Research (NCAR)                 #
   #       High Altitude Observatory (HAO)	                                #
   #       Key entries for OPeNDAP BES run time behavior                   #
   #                                                                       #
   #-----------------------------------------------------------------------#
     
   #-----------------------------------------------------------------------#
   # Who is the administrator for this OPeNDAP back-end server             #
   # Please replace this with the email address to use that gets displayed #
   # to users of your server when errors occur.                            #
   #-----------------------------------------------------------------------#
   BES.ServerAdministrator=admin.email.address@your.domain.name
   
   #-----------------------------------------------------------------------#
   # User and Group to run the BES as					#
   #-----------------------------------------------------------------------#
   # Notes:
   # 1. The user_name and group_name can be user and group ids. To use
   # a user or group id specify the id with the '#' character in front.
   # For example:
   # BES.User=#172
   # BES.Group=#14
   BES.User=user_name
   BES.Group=group_name
   
   #-----------------------------------------------------------------------#
   # Where we log the stuff...and how much we log                          #
   #-----------------------------------------------------------------------#
   BES.LogName=/usr/local/opendap/servers/hyrax-1.8.0/var/bes.log
   BES.LogVerbose=no
   
   #-----------------------------------------------------------------------#
   # Setting data information
   #-----------------------------------------------------------------------#
   
   # There are two ways the BES can be used. It can serve as a standalone
   # data server or it can work with the OLFS (i.e., as one component of
   # the OPeNDAP 4 Data Server Hyrax). How you point to data differs for
   # each of the two cases. Most users will be using the BES with the OLFS
   # as part of the OPeNDAP 4 Data Server Hyrax. In this case, set the
   # parameter below, BES.Catalog.catalog.RootDirectory, to point to the
   # root directory that contains the data you want to serve. In this case
   # the value of the 'BES.Data.RootDirectory' parameter, set below to
   # /dev/null, doesn't matter, so long as it has some value.
   
   BES.Catalog.catalog.RootDirectory=/Users/ndp/OPeNDAP/Projects/Hyrax/SVNDataProject
   
   #-----------------------------------------------------------------------#
   # NOTE: It is unlikely that you will need to change anything under      #
   #       this comment.                                                   #
   #-----------------------------------------------------------------------#
   
   #-----------------------------------------------------------------------#
   # modules to load, includes data modules and command modules            #
   #-----------------------------------------------------------------------#
   
   # Notes:
   # 1. All module configuration files will be located under
   # <prefix>/etc/bes/modules. No modules are loaded in this configuration
   # file. The module configuration files are included at the very bottom
   # of this file. And the module configuration files add to this
   # parameter.
   #
   BES.modules=
   
   #-----------------------------------------------------------------------#
   # Setting the data location
   #-----------------------------------------------------------------------#
   
   # If you intend to use the BES as a standalone server, set the value of
   # 'BES.Data.RootDirectory' to point to your data and disregard the 
   # 'BES.Catalog.catalog.RootDirectory' parameter in dap.conf.
   #
   # The default value of RootDirectory is /dev/null, which means that
   # BES.Data.RootDirectory is not used and BES.Catalog.catalog.RootDirectory
   # is used from dap.conf. If you want to use this parameter instead, set
   # it to <prefix>/share/hyrax, where prefix is the installation directory
   # for the BES. This will work with the sample data we include with
   # various format handlers distributed for use with the BES. Or you'll need
   # to change this to point to your data! At this time the BES does not
   # support multiple RootDirectory values.
   
   BES.Data.RootDirectory=/dev/null
   
   # Is the BES allowed to follow symbolic links when requesting catalog
   # information. The default is to not allow the BES to follow symbolic links.
   # The values can be either No or Yes. If set to No, and the user requests
   # catalog information on a symbolic link then an error is reported and if a
   # symbolic link is contained within a collection, it is not included in the
   # response. If set to Yes then the requested node in the catalog is treated
   # like any other node.
   #
   # BES.FollowSymLinks parameter is for non-catalog containers and is used in
   # conjunction with the BES.RootDirectory above. It is NOT a general setting.
   
   BES.FollowSymLinks=No
   
   #-----------------------------------------------------------------------#
   # connection information, unix socket, port number, and whether server  #
   # is secure or not. If you are using this option, make sure the BES is  #
   # behind a firewall which blocks the BES.ServerPort unless you intend   #
   # to provide direct access to the BES for the world. In general, if     #
   # that is the case, you should configure the BES to use SSL.            #
   #-----------------------------------------------------------------------#
   BES.ServerPort=10002
   # BES.ServerUnixSocket=/tmp/bes.socket
   
   #-----------------------------------------------------------------------#
   # To communicate with the besdaemon, use the port or unix socket given  #
   # below. If one of these values is not given, then the command interface#
   # will not be available (and the daemon will not listen on the port or  #
   # socket. If you do use the interface, make sure to protect it from     #
   # outside access using a firewall. Please re-read that last sentence.   #
   #-----------------------------------------------------------------------#
   
   BES.DaemonPort=11002
   
   #-----------------------------------------------------------------------#
   # Security information for this server. ServerSecure specifies whether  #
   # the server is secure or not and requires authentication of the client #
   # using SSL certificates and keys. The default secure connection port   #
   # is 10003. Then specify the full path to the certificate and key files.#
   # An initialization file can be created for both the client and server  #
   # side.                                                                 #
   #-----------------------------------------------------------------------#
   BES.ServerSecure=no
   BES.ServerSecurePort=10003
   BES.ServerCertFile=/full/path/to/serverside/certificate/file.pem
   BES.ServerCertAuthFile=/full/path/to/serverside/certificate/authority/file.pem
   BES.ServerKeyFile=/full/path/to/serverside/key/file.pem
   BES.ClientCertFile=/full/path/to/clientside/certificate/file.pem
   BES.ClientCertAuthFile=/full/path/to/clientside/certificate/authority/file.pem
   BES.ClientKeyFile=/full/path/to/clientside/key/file.pem
   
   #-----------------------------------------------------------------------#
   # help file locations, for text, html, and xml versions                 #
   #-----------------------------------------------------------------------#
   BES.Help.TXT=/usr/local/opendap/servers/hyrax-1.8.0/share/bes/bes_help.txt
   BES.Help.HTML=/usr/local/opendap/servers/hyrax-1.8.0/share/bes/bes_help.html
   BES.Help.XML=/usr/local/opendap/servers/hyrax-1.8.0/share/bes/bes_help.xml
   
   #-----------------------------------------------------------------------#
   # Should informational response objects be buffered, or streamed        #
   # Should informational objects be formatted as text, html, or xml       #
   #-----------------------------------------------------------------------#
   BES.Info.Buffered=no
   BES.Info.Type=xml
   
   #-----------------------------------------------------------------------#
   # Cache and compression configuration                                   #
   #                                                                       #
   # If a data file is compressed the BES will attempt to uncompress it.   #
   #                                                                       #
   #-----------------------------------------------------------------------#
   
   # Currently the bz2 and gz file compression methods are understood by the
   # BES. We will add support for Z (Unix compress) if there's demand for it.
   
   # All of the following five parameters must be set in this file.
   
   # BES.CacheDir: Where should the result of decompressing a file be stored?
   # We've set the value to '/tmp' but you might want to change that to
   # /tmp/bes, /var/cache/bes, et c., depending on the server-host's
   # organization.
   
   # BES.CachePrefix: Prefix for the name of the file used to store the result
   # of decompression.
   
   # BES.CacheSize: Size of the cache in megabytes. When the size of the cached
   # files exceeds this value, the cache will be purged using a
   # last-accessed-first-removed approach. Because it's usually impossible to
   # determine the sizes of data files before decompressing them, there may be
   # times when the cache holds more data than this value. Ideally this value
   # should be several times the size of the largest file you plan to serve. 
   
   # BES.Uncompress.Retry: When waiting for the cache lock, how long should the
   # BES wait before trying to get the lock again if previous attempts have
   # failed? 
   
   # BES.Uncompress.NumTries: How many times should the BES try to acquire the
   # lock before it signals an error?
   
   # The BES cache directory is locked to prevent the different beslistener
   # processes from simultaneously removing files and leaving the cache in an
   # inconsistent state. Use the Retry and NumTries parameters to tune this
   # behavior. Generally, NumTries should be set to about 10. The units of Retry
   # are microseconds. To tune the NumTries and Retry, use the formula Retry =
   # (0.2s/Average_file_sizeMB)/NumTries. So if your average file size is 10MB
   # and you've settled on a NumTries of 10, (0.2s/10MB)/10 = 0.002s or 2000
   # microseconds. If you have really large files (e.g., decompressed they are
   # 500MB), try setting NumTries to 100.
   
   BES.CacheDir=/tmp
   BES.CachePrefix=bes_cache
   BES.CacheSize=500
   BES.Uncompress.Retry=2000
   BES.Uncompress.NumTries=10
   
   #-----------------------------------------------------------------------#
   # If the symbolic name cannot be found in persistence, nice means simply#
   # log an error, strict means throw an exception                         #
   #-----------------------------------------------------------------------#
   BES.Container.Persistence=strict
   
   #-----------------------------------------------------------------------#
   # Defines the TCP buffer size to use in sending and receiving data in   #
   # the BES. With these parameters you will be able to maximize the       #
   # TCP capacity of the client and server communication by setting the	#
   # size of the internal BES buffers to match that of your systems TCP	#
   # window sizes. System administratos can tune the TCP window sizes in	#
   # the kernal. If this is done, set these parameters to match those	#
   # buffer sizes set in the kernel. Or, if your system supports dynamic	#
   # TCP window sizes, as many are doing these days, then leave the	#
   # SetSock*Size parameters to No and the BES will interogate the socket	#
   # for the buffer sizes.							#
   #									#
   # The TCP window size should be equal to the Bandwidth*Delay Product	#
   # (BDP). This is the number of bytes in flight to fill the entire path,	#
   # and is equal to the connection speed times the RTT( Round-Trip Time) 	#
   # divided by 2. For example, if you have a 100 Mbps path and the RTT is	#
   # 75 ms, the BDP = 100 * 0.075 / 2 = 3.75 Mbits (470 KB).		#
   #									#
   # If you are not sure what to do here, we recommend that you leave	#
   # these values set as is.						#
   #									#
   # BES.SetSockRecvSize=No|Yes - if set to no, then do not set the TCP	#
   #                              TCP receive buffer size. If set to yes	#
   #                              then set the TCP receive buffer size to	#
   #                              the value specified by BES.SockRecvSize	#
   #                              Default is No, use the system TCP window	#
   #                              size.					#
   # BES.SockRecvSize=<number> - This value should be set to the size, in	#
   #                              bytes, of the TCP receive buffer size.	#
   # BES.SetSockSendSize=No|Yes - if set to no, then do not set the TCP	#
   #                              TCP send buffer size. If set to yes	#
   #                              then set the TCP send buffer size to	#
   #                              the value specified by BES.SockSendSize.	#
   #                              Default is No, use the system TCP window	#
   #                              size.					#
   # BES.SockSendSize=<number> - This value should be set to the size, in	#
   #                              bytes, of the TCP send buffer size.	#
   #-----------------------------------------------------------------------#
   BES.SetSockRecvSize=No
   BES.SockRecvSize=65535
   BES.SetSockSendSize=No
   BES.SockSendSize=65535
   
   #-----------------------------------------------------------------------#
   # Defines size of system global memory pool                             #
   #-----------------------------------------------------------------------#
   BES.Memory.GlobalArea.EmergencyPoolSize=1
   BES.Memory.GlobalArea.MaximumHeapSize=20
   BES.Memory.GlobalArea.Verbose=no
   BES.Memory.GlobalArea.ControlHeap=no
   
   #-----------------------------------------------------------------------#
   # This key is set to either single or multiple mode.            	#
   #                                                                       #
   # In single mode the listener handles the client request itself, and    #
   # only one client can connect at a time                                 #
   #                                                                       #
   # In multiple mode the listener listens for client connections. When a  #
   # connection is made it forks another bes process to handle that client #
   # connection and goes back to listening for more connections. More than #
   # one client can connect at a time                                      #
   #-----------------------------------------------------------------------#
   BES.ProcessManagerMethod=multiple
   
   #-----------------------------------------------------------------------#
   # Is the client using the GET or POST method of making requests to a    #
   # back-end server that is a built-in web server module. If the back-end #
   # server is not a web server module, this key/value pair is not used    #
   #-----------------------------------------------------------------------#
   BES.DefaultResponseMethod=POST
   
   #-----------------------------------------------------------------------#
   # Include all module configuration files in the <prefix>/etc/bes/modules#
   # directory								#
   #-----------------------------------------------------------------------#
   BES.Include=modules/.*\.conf$
    
</hai:BesConfig>
Request Example
<?xml version="1.0" encoding="UTF-8"?>
 <hai:BesAdminCmd xmlns:hai="http://xml.opendap.org/ns/bes/admin/1.0#">
     <hai:GetConfig module="ncml_module" />
 </hai:BesAdminCmd>
Response Example

Returns the configuration file for the ncml_module


.

SetConfig

Element form:

<hai:SetConfig>
     BES Configuration Content
</hai:SetConfig>

Retrieves the BES configuration file.


Request Example
<?xml version="1.0" encoding="UTF-8"?>
 <hai:BesAdminCmd xmlns:hai="http://xml.opendap.org/ns/bes/admin/1.0#">
     <hai:SetConfig>
         BES.ServerAdministrator=admin.email.address@your.domain.name
         BES.User=user_name
         BES.Group=group_name
         BES.LogName=/usr/local/opendap/servers/hyrax-1.8.0/var/bes.log
         BES.LogVerbose=no
         BES.Catalog.catalog.RootDirectory=/Users/ndp/OPeNDAP/Projects/Hyrax/SVNDataProject
     </hai:SetConfig>
 </hai:BesAdminCmd>
Response Example

Submits a new bes.conf file to the BES.

Request Example
<?xml version="1.0" encoding="UTF-8"?>
 <hai:BesAdminCmd xmlns:hai="http://xml.opendap.org/ns/bes/admin/1.0#">
     <hai:SetConfig module="ncml_module">
         BES.Include=dap.conf
         BES.modules+=ncml
         BES.module.ncml=/usr/local/opendap/servers/hyrax-1.8.0/lib/bes/libncml_module.so
         BES.Catalog.catalog.TypeMatch+=ncml:.*\.ncml(\.bz2|\.gz|\.Z)?$;
         NCML.TempDirectory=/tmp
     </hai:SetConfig>
 </hai:BesAdminCmd>
Response Example

Returns a status indicating what happened (Was the configuration accepted, was it valid, did the bes restart, etc)

.


Start

Example:

<hai:Start />

Starts the master beslistener process. If a beslistner is already running nothing will be done.


Request Example
<?xml version="1.0" encoding="UTF-8"?>
 <hai:BesAdminCmd xmlns:hai="http://xml.opendap.org/ns/bes/admin/1.0#">
     <hai:Start />
 </hai:BesAdminCmd>
Response Example
<?xml version="1.0" encoding="UTF-8"?>
 <hai:BesAdminCmd xmlns:hai="http://xml.opendap.org/ns/bes/admin/1.0#">
     <hai:OK/>
 </hai:BesAdminCmd>
<?xml version="1.0" encoding="UTF-8"?>
 <hai:ParseError xmlns:hai="http://xml.opendap.org/ns/bes/admin/1.0#">
     message text
 </hai:ParseError>
<?xml version="1.0" encoding="UTF-8"?>
 <hai:BESError xmlns:hai="http://xml.opendap.org/ns/bes/admin/1.0#">
     message text
 </hai:BESError>