Table of Contents
Running VoltSP Pipelines
The following sections explain how to build, configure and run your VoltSP pipelines.
Building Pipeline
Once you complete the pipeline definition you are ready to compile and build the pipeline into a JAR file. You can use the Maven build file created when you downloaded the sample as a template without any modifications:
$ mvn clean package
The resulting JAR file is created in the target
directory.
Configuring the Pipeline
VoltSP uses Helm to create and manage the pods in Kubernetes. There are two main aspects of the configuration:
- Assigning the resources needed and used by the pipeline, such as memory, CPU and number of pods
- Defining the properties that fill in placeholders in the pipeline template at runtime
The resources are defined using standard Kubernetes and Helm properties,
such as resources.limits
andresources.requests
. For example:
replicaCount: 1
resources:
limits:
cpu: 2
memory: 2G
requests:
cpu: 2
memory: 2G
There are several options for how to define the properties used by the pipeline itself. See the section on Helm Configuration Options for more information on defining pipeline properties.
Running the Pipeline
Now you are ready to run your pipeline. Use the helm install
command to start the pipeline,
specifying voltdb/volt-streams
as the chart and your edited YAML as the properties file.
(If this is your first time running a pipeline, it is a good idea to issue a
helm repo update
command first to make sure you have access to the latest charts.)
You will also need to include your volt license file specify the JAR file for the pipeline
using the streaming.voltapps
property. For example:
```shell $ export MY_VOLT_LICENSE=$HOME/licenses/volt-license.xml
$ helm install mydatapipe voltdb/volt-streams \ --set-file streaming.licenseXMLFile=${MY_VOLT_LICENSE} \ --set-file streaming.voltapps=target/mydatapipe-1.0-SNAPSHOT.jar \ --values test/src/main/resources/mydatapipe.yaml
```
Once you start the pipeline you can use the kubectl get pods to verify the processes have started. If there are any issues you can use kubectl logs pod-id to get details on what is happening.