Installation
On this page you will install the Stackable Spark-on-Kubernetes operator as well as the Commons and Secret operators which are required by all Stackable operators.
Dependencies
Spark applications almost always require dependencies like database drivers, REST api clients and many others. These
dependencies must be available on the classpath
of each executor (and in some cases of the driver, too). There are
multiple ways to provision Spark jobs with such dependencies: some are built into Spark itself while others are
implemented at the operator level. In this guide we are going to keep things simple and look at executing a Spark job
that has a minimum of dependencies.
More information about the different ways to define Spark jobs and their dependencies is given on the following pages:
Stackable Operators
There are 2 ways to install Stackable operators
-
Using stackablectl
-
Using a Helm chart
stackablectl
stackablectl
is the command line tool to interact with Stackable operators and our recommended way to install
Operators. Follow the installation steps for your platform.
After you have installed stackablectl
run the following command to install the Spark-k8s operator:
stackablectl operator install \
commons=23.1.0 \
secret=23.1.0 \
spark-k8s=23.1.0
The tool will show
[INFO ] Installing commons operator [INFO ] Installing secret operator [INFO ] Installing spark-k8s operator
Consult the Quickstart to learn more about how to use stackablectl. For
example, you can use the --cluster kind flag to create a Kubernetes cluster with kind.
|
Helm
You can also use Helm to install the operator. Add the Stackable Helm repository:
helm repo add stackable-stable https://repo.stackable.tech/repository/helm-stable/
Then install the Stackable Operators:
helm install --wait commons-operator stackable-stable/commons-operator --version 23.1.0
helm install --wait secret-operator stackable-stable/secret-operator --version 23.1.0
helm install --wait spark-k8s-operator stackable-stable/spark-k8s-operator --version 23.1.0
Helm will deploy the operators in a Kubernetes Deployment and apply the CRDs for the SparkApplication
(as well as the
CRDs for the required operators). You are now ready to create a Spark job.
What’s next
Execute a Spark Job and verify that it works by inspecting the pod logs.