Try our new documentation site (beta).
Next: Starting a Cluster Node Up: Installing a Cluster Node Previous: Remote Services Agent (grb_rs)
Configuring a Cluster Node
The Remote Services agent has a number of configuration properties that affect its behavior. These can be controlled using a grb_rs.cnf configuration file. The installation package includes a predefined configuration file that can be used as a starting point (<installdir>/bin/grb_rs.cnf).
The simplest way to modify the parameters is to edit the default configuration file. Other options are available, though. The grb_rs process uses the following precedence rules:
- First priority: command-line flag —config
- Second priority: a configuration file in the current directory
- Third priority: a configuration file in a shared directory (C:\gurobi, /opt/gurobi, /Library/gurobi for Windows, Linux and macOS platforms, respectively)
- Fourth priority: a configuration file in the directory where grb_rs is located
Configuration file format
The configuration file contains a list of properties of the form PROPERTY=value. Lines that begin with the # symbol are treated as comments and are ignored. Here is an example:
# grb_rs.cnf configuration file PORT=61000 MANAGER=http://mymanager:61080While you could create this file from scratch, we recommend you start with the version of this file that is included with the product and modify it instead.
The command grb_rs properties lists all of the available properties, their default values, and provides documentation for each. Some can be overridden on the command-line of grb_rs; the name of the command-line flag you would use to do so is provided as well. Some properties are important and must be changed for a production deployment. However, we need to distinguish between deployment with a Cluster Manager and without.
Important Properties with a Cluster Manager
When deploying a node with a Cluster Manager, the configuration is easier and you need to review the following properties:
- MANAGER
- This is the URL of the manager.
- HOSTNAME
- This must be the DNS name of the node that can be resolved
from the other nodes or from the Cluster Manager. grb_rs tries to get a reasonable
default value, but this value may still not be resolved by other nodes and could
generate connection errors. It this case, you need to override this name in the configuration
file with a fully qualified name of your node, for example:
HOSTNAME=server1
Note that you do not need to give addresses that can be resolved by clients because all communication is routed through the Cluster Manager. The nodes are never accessed directly by the clients. - CLUSTER_TOKEN
- The token is a private key that enables different
nodes to join the same cluster. All nodes of a cluster and the Cluster Manager must have
the same token. We recommended that you generate a brand new token
when you set up your cluster. The grb_rs token command
will generate a random token, which you can copy into
the configuration file.
- JOBLIMIT
- This property sets the maximum number of jobs that
can run concurrently when using Compute Server on a specific node.
The limit can be
changed on a running cluster using the grbcluster node config —job-limit <new_limit>
command, in which case the new value will persist and the value in
the configuration file will be ignored from that point on (even
if you stop and restart the cluster).
- HARDJOBLIMIT
- Certain jobs (those with priority 100) are allowed
to ignore the JOBLIMIT, but they aren't allowed to ignore this limit.
Client requests beyond this limit are queued, irrespective of their priority.
This limit is set to 0 by default which means that it is disabled and jobs
with priority 100 will not be queued.
Important Properties without a Cluster Manager
When installing a node that will not be connected to a Cluster Manager, authentication of clients uses predefined passwords that must be stored in the configuration file. The default configuration files must be reviewed and the following properties must be changed for a production deployment:
- HOSTNAME
- This must be the DNS name of the node that can be resolved
from the other nodes or the clients in your network. grb_rs tries to get a reasonable
default value, but this value may still not be resolved by clients and could
generate connection errors. It this case, you need to override this name in the configuration
file with a fully qualified name of your node, for example:
HOSTNAME=server1
If the names cannot be resolved by clients, another option is to use IP addresses directly, in this case set this property to the IP address of the node. - CLUSTER_TOKEN
- The token is a private key that enables different
nodes to join the same cluster. All nodes of a cluster must have
the same token. We recommended that you generate a brand new token
when you set up your cluster. The grb_rs token command
will generate a random token, which you can copy into
the configuration file.
- PASSWORD
- This is the password that clients must supply in order
to access the cluster. It can be stored in clear text or hashed.
We recommended that you create your own password, and that you
store it in hashed form. You can use the grb_rs hash command
to compute the hashed value for your chosen password.
Note that clients must provide the original password (not hashed) and it will
be exchanged encrypted if HTTPS is used.
grb_rs hash newpass $$ppEieKZExlBR-pCSUMlmc4oWlG8nZsUOE2IM0hJbzsmV_Yjj
Then copy and paste the value in the configuration file:PASSWORD=$$ppEieKZExlBR-pCSUMlmc4oWlG8nZsUOE2IM0hJbzsmV_Yjj
The default password is pass.
- ADMINPASSWORD
- This is the password that clients must supply in
order to run restricted administrative job commands. It can be
stored in clear text or hashed. We recommended that you create your
own password, and that you store it in hashed form. You can use the
grb_rs hash command to compute the hashed value for your
chosen password.
Note that clients must provide the original password (not hashed) and it will
be exchanged encrypted if HTTPS is used.
The default password is admin.
- CLUSTER_ADMINPASSWORD
- This is the password that clients must
supply in order to run restricted administrative cluster commands.
It can be stored in clear text or hashed. We recommended that you
create your own password, and that you store it in hashed form. You
can use the grb_rs hash command to compute the hashed value
for your chosen password.
Note that clients must provide the original password (not hashed) and it will
be exchanged encrypted if HTTPS is used.
The default password is cluster.
- JOBLIMIT
- This property sets the maximum number of jobs that
can run concurrently when using Compute Server on a specific node.
The limit can be
changed on a running cluster using the grbcluster node config —job-limit <new_limit>
command, in which case the new value will persist and the value in
the configuration file will be ignored from that point on (even
if you stop and restart the cluster).
- HARDJOBLIMIT
- Certain jobs (those with priority 100) are allowed
to ignore the JOBLIMIT, but they aren't allowed to ignore this limit.
Client requests beyond this limit are queued, irrespective of their priority.
This limit is set to 0 by default which means that it is disabled and jobs
with priority 100 will not be queued.
Next: Starting a Cluster Node Up: Installing a Cluster Node Previous: Remote Services Agent (grb_rs)