Categories

Versions

Install a standalone Scoring Agent

This document describes how to install a standalone Scoring Agent that is independent of Altair AI Hub and the Web API Endpoints. While it is possible to install a standalone Scoring Agent as a Web API Agent, it is recommended to use the provided installation methods using Docker/Kubernetes. See Install the endpoint infrastructure.

Here we discuss an alternative method of installing the endpoint infrastructure, not involving Docker or Kubernetes, that may be more suitable for edge computing or other cases where resources are limited.

The starting point is one of several ZIP files, depending on the standalone operating system, that can be found on

Instructions

  1. If it is not yet installed, install Java 11 (e.g., OpenJDK 11) on the standalone operating system.

  2. Unpack the Scoring Agent ZIP file and notice the following files and folders:

    • README.md - contains additional detailed instructions
    • bin/migrate-home - a shell script to migrate from version 9 to version 10
    • bin/rapidminer-scoring-agent - a shell script to start the scoring agent
    • dist/linux-service/ - (Linux only) a folder containing systemd service files
    • home/config/agent.properties - a file that configures scoring agent options
    • home/deployments/ - a folder for your deployments, in ZIP format
    • home/resources/extensions/ - a folder for extensions
    • home/resources/licenses/ - a folder for licenses
  3. Install / configure a license.

    The default license.mode is

     license.mode=ALTAIR_STANDALONE
    

    If you wish to use a RapidMiner license, set the following property in home/config/agent.properties

     license.mode=RAPIDMINER
    

    Choose one of the following:

    • ALTAIR_STANDALONE - In home/config/agent.properties, uncomment and set the path for the .dat node lock license file:

        #license.altair.standalone.license-file=${license.location}/altair_standalone.dat
      
    • ALTAIR_UNIT - see the details in home/config/agent.properties

    • RAPIDMINER (Scoring Agent license) - From my.rapidminer.com, under Licenses > Scoring Agent, you can install the Scoring Agent license as:

        home/resources/licenses/rapidminer-scoring-agent/scoring-agent.lic
      
    • RAPIDMINER (RapidMiner Server license) - From my.rapidminer.com, under Licenses > AI Hub / Server, you can install the RapidMiner Server license as:

        home/resources/licenses/rapidminer-server/server.lic
      

      In this case, you also need to uncomment the following line in home/config/agent.properties:

        #scoring-agent.enable-server-license = true
      
  4. (optional) Install extensions.

    If you need them, simply download extensions from the marketplace and place them into

     home/resources/extensions
    

    They will be picked up and initialized after a successful restart of the application.

    You can also remove extensions, please be sure to restart the application in that case as well.

  5. Install the ZIP files you wish to deploy.

    Follow the instructions in Create a deployment ZIP. The result is a ZIP file that you will place in home/deployments, for example a deployment called iris.zip:

     home/deployments/iris.zip
    

    You must NOT unpack this ZIP file in the deployments folder, but if you do unpack it -- elsewhere! -- here is what you will see:

     repository
     repository/ScoreIrisData.rmp
     repository/IrisModel.rmmodel
     config.json
     README.md
    

    Notice that the config.json file identifies the basePath (in this case, "iris") and all the callable processes in the deployment (in this case "ScoreIrisData"). Both these values will appear in the endpoint URL.

  6. Run the shell script to start the scoring agent.

    Once you have configured the scoring agent and inserted your deployment ZIP, it's time to start the scoring agent!

     sh bin/rapidminer-scoring-agent
    

  7. Request results.

    In general, scoring works as described in Request results, except that an external scoring agent does not belong to a Web API Group, and therefore the rules for assigning an endpoint URL are slightly different.

    Using our iris.zip deployment as an example, you can call the ScoreIrisData process as follows:

     curl -X POST \
          -H "Content-Type: application/json" \
          --data @iris.json \
          http://localhost:8090/api/v1/services/iris/scoreirisdata
    

    with the following example file iris.json:

     {
         "data":[
             {
                 "a1": 5.1,
                 "a2": 3.5,
                 "a3": 1.4,
                 "a4": 0.2
             }
         ]
     }    
    

    Note that in JSON files, trailing commas are not permitted.