Quick Cluster Manager Installation#

The rest of this section lays out the steps required to install and configure Gurobi Remote Services and the Cluster Manager. Before diving into those details, though, we first want to provide a quick, high-level overview. The intent is to give you a basic understanding of the relevant concepts and tools. We suggest that you try these steps on your local machine before performing them on your server.

  1. Download and install the Gurobi client and Remote Services packages from our download page. Detailed instructions depend on your platform and are provided in this section.

  2. Install and start a MongoDB database server 4.0 or later (as explained in their on-line guide). If you are deploying the Cluster Manager on the AWS platform, you can also use an AWS DocumentDB 4.0 or later database (as explained in their developer guide). AWS DocumentDB cannot be installed on-premises. If you are deploying the Cluster Manager on the Microsoft Azure platform, you can also use an Azure CosmosDB 4.2 or later database (as explained in their documentation).

  3. Start the Cluster Manager.

    In a new terminal window, start the Cluster Manager executable:

    > grb_rsm
    info  : Gurobi Cluster Manager starting...
    info  : Version is 11.0.0
    info  : Connecting to database grb_rsm on 127.0.0.1:27017...
    info  : Connected to database grb_rsm (version 4.0.4)
    info  : Starting cluster manager server (HTTP) on port 61080...
    

    The default configuration will start the Cluster Manager on port 61080 and will connect to the database on the local machine. If you have installed the database with other options or want to use an existing database, you can provide a database connection string with the —-database flag:

    > grb_rsm --database=....
    

    The Cluster Manager has several important options that are detailed in this section.

  4. Get your Gurobi license.

    Follow the instructions in the Gurobi User Portal to retrieve your license. To avoid conflicts with client license files, you should place your license file in a non-default location:

    grbgetkey 8f15037e-eae7-4831-9a88-ffe079eabdeb
    info  : grbgetkey version 11.0.0
    info  : Contacting Gurobi key server...
    info  : Key for license ID XXXXX was successfully retrieved
    info  : Saving license key...
    
    In which directory would you like to store the Gurobi license key file?
    [hit Enter to store it in /Users/john]: /Users/john/tutorial
    
    info  : License XXXXX written to file /Users/john/tutorial/gurobi.lic
    info  : You may have saved the license key to a non-default location
    info  : You need to set the environment variable GRB_LICENSE_FILE before you can use this license key
    info  : GRB_LICENSE_FILE=/Users/john/tutorial/gurobi.lic
    
  5. Connect a Compute Server node.

    In a new terminal, set the license file variable. For Linux and macOS, use this command:

    export GRB_LICENSE_FILE=/Users/john/tutorial/gurobi.lic
    

    For Windows, use this command instead:

    SET GRB_LICENSE_FILE=/Users/john/tutorial/gurobi.lic
    

    Then, start a Remote Services agent, using a few parameters to connect to the manager and to run on port 61000:

    > grb_rs --manager=http://localhost:61080 --port=61000
    info  : Gurobi Remote Services starting...
    info  : Version is 11.0.0
    info  : Accepting worker registration on port 64121...
    info  : Starting API server (HTTP) on port 61000...
    info  : Joining cluster from manager
    

    The Remote Services Agent has several important options that are detailed in this section.

  6. Open the Cluster Manager Web UI in a browser at http://localhost:61080.

    You will be asked to log in. You can use one of the three predefined users and passwords (gurobi/pass, admin/admin, sysadmin/cluster). If you navigate to the cluster section, you should see the Compute Server node status display.

  7. Log in to the Cluster Manager using the command-line tools.

    In a new terminal, log in to the Cluster Manager using the appropriate connection parameters. Connection information is stored into your gurobi.lic client license file once you connect, so you won’t need to include these parameters with each future command.

    grbcluster login --manager=http://localhost:61080 --username=gurobi
    

    Enter the default password ’pass’ when prompted.

    More options and detailed client configuration is explained in a following section.

  8. Submit jobs and batches from the command-line tools or the programming language APIs.

    Once you have logged in, you are ready to submit optimizations requests. In the following examples, we will refer to the installation directory of the main Gurobi tools and libraries as <gurobi_installation>.

    You can submit an interactive job:

    gurobi_cl ResultFile=solution.sol <gurobi_installation>/examples/data/misc07.mps
    

    You can also submit a batch job and wait for the completion to download the results:

    grbcluster batch solve ResultFile=solution.sol <gurobi_installation>/examples/data/misc07.mps --download
    

    Finally, you can submit a batch with the Python API. The Gurobi distribution includes a complete example:

    python <gurobi_installation>/examples/python/workforce_batchmode.py
    

    The followup sections give more details on the command line tools and the programming language APIs.

Let’s now dive into more detailed discussions of these steps.