Demo

A demo is an end-to-end demonstration of the usage of the Stackable data platform. It is tied to a specific stack of the Stackable data platform, which will provide the required products for the demo.

Browse available demos

To list the available demos, run the following command:

$ stackablectl demo list
DEMO                                STACKABLE STACK           DESCRIPTION
trino-taxi-data                     trino-superset-s3         Demo loading 2.5 years of New York taxi data into S3 bucket, creating a Trino table and a Superset dashboard
kafka-druid-earthquake-data         kafka-druid-superset-s3   Demo ingesting earthquake data into Kafka, streaming it into Druid and creating a Superset dashboard

Detailed information of a demo can be queried with the describe command:

$ stackablectl demo describe trino-taxi-data
Demo:               trino-taxi-data
Description:        Demo loading 2.5 years of New York taxi data into S3 bucket, creating a Trino table and a Superset dashboard
Documentation:      https://docs.stackable.tech/stackablectl/stable/demos/trino-taxi-data.html
Stackable stack:    trino-superset-s3
Labels:             trino, superset, minio, s3, ny-taxi-data

Future versions of stackablectl will also allow to search for demos based on the labels.

Install demo

Using existing Kubernetes cluster

If you want to access a Kubernetes cluster, make sure your kubectl Kubernetes client is configured to interact with the Kubernetes cluster. After that run the following command

$ stackablectl demo install trino-taxi-data
[INFO ] Installing demo trino-taxi-data
[INFO ] Installing stack trino-superset-s3
[INFO ] Installing release 22.06
[INFO ] Installing airflow operator in version 0.4.0
[INFO ] Installing commons operator in version 0.2.0
[INFO ] Installing druid operator in version 0.6.0
[INFO ] Installing hbase operator in version 0.3.0
[INFO ] Installing hdfs operator in version 0.4.0
[INFO ] Installing hive operator in version 0.6.0
[INFO ] Installing kafka operator in version 0.6.0
[INFO ] Installing nifi operator in version 0.6.0
[INFO ] Installing opa operator in version 0.9.0
[INFO ] Installing secret operator in version 0.5.0
[INFO ] Installing spark-k8s operator in version 0.3.0
[INFO ] Installing superset operator in version 0.5.0
[INFO ] Installing trino operator in version 0.4.0
[INFO ] Installing zookeeper operator in version 0.10.0
[INFO ] Installing components of stack trino-superset-s3
[INFO ] Installed stack trino-superset-s3
[INFO ] Installing components of demo trino-taxi-data
[INFO ] Installed demo trino-taxi-data. Use "stackablectl services list" to list the installed services

Using local kind cluster

If you don’t have a Kubernetes cluster available, stackablectl can spin up a kind Kubernetes cluster for you. Make sure you have kind installed and run the following command:

$ stackablectl demo install trino-taxi-data --kind-cluster
[INFO ] Creating kind cluster stackable-data-platform
Creating cluster "stackable-data-platform" ...
 ✓ Ensuring node image (kindest/node:v1.21.1) đŸ–ŧ
 ✓ Preparing nodes đŸ“Ļ đŸ“Ļ đŸ“Ļ đŸ“Ļ
 ✓ Writing configuration 📜
 ✓ Starting control-plane 🕹ī¸
 ✓ Installing CNI 🔌
 ✓ Installing StorageClass 💾
 ✓ Joining worker nodes 🚜
Set kubectl context to "kind-stackable-data-platform"
You can now use your cluster with:

kubectl cluster-info --context kind-stackable-data-platform

Have a nice day! 👋
[INFO ] Installing demo trino-taxi-data
[INFO ] Installing stack trino-superset-s3
[INFO ] Installing release 22.06
[INFO ] Installing airflow operator in version 0.4.0
[INFO ] Installing commons operator in version 0.2.0
[INFO ] Installing druid operator in version 0.6.0
[INFO ] Installing hbase operator in version 0.3.0
[INFO ] Installing hdfs operator in version 0.4.0
[INFO ] Installing hive operator in version 0.6.0
[INFO ] Installing kafka operator in version 0.6.0
[INFO ] Installing nifi operator in version 0.6.0
[INFO ] Installing opa operator in version 0.9.0
[INFO ] Installing secret operator in version 0.5.0
[INFO ] Installing spark-k8s operator in version 0.3.0
[INFO ] Installing superset operator in version 0.5.0
[INFO ] Installing trino operator in version 0.4.0
[INFO ] Installing zookeeper operator in version 0.10.0
[INFO ] Installing components of stack trino-superset-s3
[INFO ] Installed stack trino-superset-s3
[INFO ] Installing components of demo trino-taxi-data
[INFO ] Installed demo trino-taxi-data. Use "stackablectl services list" to list the installed services

The demos create Kubernetes jobs, that will populate test data and interact with the installed products to process the data. Until the products are ready, it is completely normal that the pods of these Jobs will fail with an error. They will get retried with an exponentially growing backoff time. After the products are ready they should turn green and everything should settle down.

List deployed services

After installing your demo you can use the Services command to list the installed services as follows:

$ stackablectl services list --all-namespaces
 PRODUCT   NAME         NAMESPACE  ENDPOINTS                                     EXTRA INFOS

 hive      hive         default    hive                172.18.0.4:32658
                                   metrics             172.18.0.4:30745

 opa       opa          default    http                http://172.18.0.2:31324

 superset  superset     default    external-superset   http://172.18.0.2:32716   Admin user: admin, password: admin

 trino     trino        default    coordinator-http    http://172.18.0.5:32128
                                   coordinator-metrics 172.18.0.5:31199
                                   coordinator-https   https://172.18.0.5:32721

 minio     minio-trino  default    http                http://172.18.0.4:31026   Third party service
                                   console-http        http://172.18.0.4:30354   Admin user: root, password: rootroot

Uninstall stack

Currently there is no support for uninstalling a demo again.