Skip to content
This repository has been archived by the owner on Jan 27, 2020. It is now read-only.

Standalone Runtime Mode

Christian Kreutzfeldt edited this page Apr 22, 2015 · 17 revisions

The SPQR framework may be operated in two different modes: cluster or standalone. Whereas the cluster requires a full environment (transportation layer, resource manager, multiple (1..n) processing nodes), the standalone mode supports to run only a single processing node. Having a resource manager running somewhere is not necessary.

In contrast to a clustered setup the user has to ensure the uniqueness of pipeline identifiers. Everything else is transparent compared to clustered environments. Thus the standalone mode is suited best for very small setups, isolated setups and testing.

To operate a processing node in standalone or local mode, the configuration must modified accordingly: (/path/to/spqr/spqr-node/etc/spqr-node.cfg)

(remote resource manager)

resourceManager:
  mode: REMOTE
  protocol: "http"
  host: "localhost"
  port: 9090    

(local/standalone)

resourceManager:
  mode: LOCAL

If the processing node is executed the log should state somewhere a hint on the selected mode:

2015-04-16 14:11:31 INFO  SPQRNodeServer:89 - resource manager [mode=LOCAL]

Start / Stop

To start the processing node execute the start/stop script located at /path/to/spqr/spqr-node/bin/spqr-node.sh

The script requires you to reference a configuration file as well as the execution mode: start or stop.

mnxfst@mnxfst-desktop:/opt/transport/spqr/spqr-node/bin$ ./spqr-node.sh 
usage: spqr-node.sh {start|stop} <configuration file>

Starting the processing node:

/opt/transport/streaming/spqr/spqr-node/bin/spqr-node.sh start /opt/transport/streaming/spqr/spqr-node/etc/spqr-node.cfg

Stopping the processing node:

/opt/transport/streaming/spqr/spqr-node/bin/spqr-node.sh stop

Submitting Pipeline Configuration

To submit pipelines to a standalone processing node the same URLs may be used compared to clustered environment where requests are typically send towards the resource manager:

Operation Method URL
Instantiation POST http://localhost:7070/pipelines (body holds configuration)
Update PUT http://localhost:7070/pipelines/{pipelineId} (body holds configuration)
Delete DELETE http://localhost:7070/pipelines/{pipelineId}

In contrast to clustered mode the sender must take care of pipeline id uniqueness as normally the resource manager assigns these.

Clone this wiki locally