Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

UNDER CONSTRUCTION


Welcome to the Getting Started, this is what you will achieve by follow the next steps:

  • Setup the environment.
  • Deploy Saga.
  • Run Saga.
  • Check it's working!.

Prerequisites


  1. Elasticsearch 6.4.1 or above.
  2. Java 11 or above.

Note

This guide assumes you already have an stable Saga release such as 1.0 or above.

Step 1: Set up enviroment


  1. Check Java 11 is installed on your machine by running on terminal (or system console):

    $> java -version

  2. Uncompress Saga in your prefered location. This is our recommended setup but you can pretty much handle the paths as you wish. This guide will refer to Saga's working directory as {SAGA_HOME}.
  3. Saga uses Elasticsearch (6.4.1 or above) and you can get it here.
    1. Deploy Elasticsearch (ES) under {SAGA_HOME} in something like {SAGA_HOME}/Elasticsearch-6.4.1.
    2. Run ES by executing the binary on {SAGA_HOME}/Elasticsearch-6.4.1/bin.
      • Saga can run on an empty ES instance, you'd need to add new tags and resources.

Step 2: Deploy Saga


Once you have Saga in {SAGA_HOME} validate the following:

  1. There is a {SAGA_HOME}/lib folder containing the following JARs:
    • saga-classification-trainer-stage-1.0.0-SNAPSHOT
    • saga-elastic-provider-1.0.0-SNAPSHOT
    • saga-name-trainer-stage-1.0.0-SNAPSHOT

Step 3: Configuring the environment

Saga Server Parser configuration files are specified in the Configure Pipelines & Resource Providers section. If you change any of those files in the saga-server-parser/src/main/resources folder, you need to rebuild the project or transfer the files to the directory specified in the saga-server-parser/startup.bat.

For the UI, you need to check the file in config/env/development.js. The display name, "Saga" in following snippet, is the name the UI will show for the project, but what it is important is the uri attribute from db, this is the database that Saga will be using. In the snippet, the database in use will be "SagaDB", change it according to your preference. If you loaded a Mongo database in step 2, you must change "SagaDB" to the name of the database you loaded. If you want to start a new database, just choose a proper name and the UI will create the database.

solutions: [

{

display: 'Saga',
db: {

uri: process.env.MONGOHQ_URL || process.env.MONGOLAB_URI || 'mongodb://' + (process.env.DB_1_PORT_27017_TCP_ADDR || 'localhost') + '/SagaDB',
options: {

keepAlive: 10000,
reconnectTries: 10

},

//Database info for patter matching server switch
host: process.env.DB_1_PORT_27017_TCP_ADDR || 'localhost',
port: 27017,
name: 'SagaDB',

// Enable mongoose debug mode
debug: process.env.MONGODB_DEBUG || false

},

matcher: {

uri: 'http://localhost:8080/_saga'

}

}

]

  1. Check the basic configuration on {SAGA_HOME}/config/config.json:
    • "airPort": 8080 → this is the port used by the server.
    • "ipAdress": "0.0.0.0" → this IP/mask is used to restrict inbound connections, open to all connections by default.
    • "logger" → each logger level config per handler.
    • "provider" → data providers, mainly used to specify location of resource files like dictionaries and ES configuration
      • New filesystem providers can be added to group diferent resource files.
      • ES configuration includes the "port" to connect to, this is by default 9200, you may change it to fit your environment.
    • "solutions" → bundle solution schema, it values may be change to have multiple servers with diferent "solutions" or to switch from one to another.
      • A solution work as a domain.  By default the "saga" solution creates ES indexes using the pattern "saga-<index>" and only loads indexes with the same patter.  So you could have multiple solutions on a ES server.  To switch between solution you'd need to shut down the server, change the "indexName" value and restart the server.
  2. If you have some valid "models" you'd like to include on the server:
    1. Create a {SAGA-HOME}/nt-models folder for "name trainers" and copy the model there.
    2. Create a {SAGA-HOME}/ct-models folder for "clasification trainers" and copy the model there.
  3. To add datasets:
    1. Create a {SAGA-HOME}/datasets folder.
    2. Each dataset must be placed on each own folder, this folder name will be the one displayed for "test runs".
    3. Each data document in the dataset must be compliant with Saga's data file JSON format.
    4. Each folder must contain a ".metadata" file with information about the dataset and how to read it.  You can check the dataset format here.

Step 3: Run Saga




If you didn't change the default port on the configuration, you should be able to access Saga

Step 4: Starting Saga

Before starting Saga, make sure Mongo is up and running. Try to run:

...> mongo

If the command does not run, run the following command from the MongoDB/Server/3.6/bin:

.../MongoDB/Server/3.6/bin> mongod

Then, you will need to run the Saga Server Parser and the Saga Server UI. The first to be run is the Saga Server UI, since it will create the database if it doesn't exist. Go to the Saga Server UI directory and run the startup.bat from a console:

.../saga-server-ui> startup.bat

And then do the same for the Saga Server Parser:

.../saga-server-parser> startup.bat

If you didn't change the port, you should be able to access saga at http://localhost:8080/


Panel

On this page:

Table of Contents

Related pages

Content by Label
showLabelsfalse
spacessaga131
showSpacefalse
sorttitle
typepage
cqllabel = "documentation-space-sample" and type = "page" and space = "saga131"
labelsdocumentation-space-sample

...