A working Trino cluster and its web interface require only the commons, secret and listener operators to work. Simple tests are possible without an external data source (e.g. PostgreSQL, Hive or S3), as internal data can be used.
Create a file named
trino.yaml with the following content:
--- apiVersion: trino.stackable.tech/v1alpha1 kind: TrinoCluster metadata: name: simple-trino spec: image: productVersion: "428" clusterConfig: catalogLabelSelector: matchLabels: trino: simple-trino listenerClass: external-unstable coordinators: roleGroups: default: replicas: 1 workers: roleGroups: default: replicas: 1
and apply it:
kubectl apply -f trino.yaml
Wait for the Trino cluster to get ready:
kubectl rollout status --watch --timeout=5m statefulset/simple-trino-coordinator-default kubectl rollout status --watch --timeout=5m statefulset/simple-trino-worker-default
At first, make sure the StatefulSets are ready:
kubectl get statefulset
The output should show all pods in the StatefulSets ready:
NAME READY AGE simple-trino-coordinator-default 1/1 5m simple-trino-worker-default 1/1 5m
Create a port-forward for the coordinator to access Trino easily in the next steps:
kubectl port-forward svc/simple-trino-coordinator 8443 2>&1 >/dev/null &
We use the Trino CLI tool to access the Trino cluster. This link points to the latest Trino version. In this guide we keep Trino cluster and client versions in sync and download the CLI tool from the Stackable repository:
curl --output trino.jar https://repo.stackable.tech/repository/packages/trino-cli/trino-cli-396-executable.jar
We need to make the CLI tool executable:
chmod +x trino.jar
Now, run some queries against the coordinator. Show available catalogs:
./trino.jar --insecure --output-format=CSV_UNQUOTED --server https://localhost:8443 --user admin --execute "SHOW CATALOGS"
which should output:
Check how many workers are connected to the coordinator:
./trino.jar --insecure --output-format=CSV_UNQUOTED --server https://localhost:8443 --user admin --execute "SELECT COUNT(*) as nodes FROM system.runtime.nodes WHERE coordinator=false AND state='active'"
which should output:
Congratulations, you set up your first Stackable Trino cluster successfully.
With the port-forward still active, you can connect to the Trino web interface. Enter
https://localhost:8443/ui in your browser and login with the username
admin. Since no authentication is enabled you do not need to enter a password.
|Your browser will probably show a security risk warning because it does not trust the self generated TLS certificates. Just ignore that and continue.|
After logging in you should see the Trino web interface:
If you mark the
Finished button in the
Query Details section, you should see the two queries that were sent earlier via the CLI tool:
In order to remove the previously downloaded CLI tool, you can safely remove it from your system:
Have a look at the Usage guide to find out more about how to configure a Trino cluster.