Installing Trino
This section provides a step-by-step guide to installing Trino on the Azure Kubernetes Service cluster.
About this task
Trino is a SQL query engine and does not store data. Instead, Trino interacts with various databases or directly on object storage. Trino parses and analyzes the SQL query you pass in, creates and optimizes a query execution plan that includes the data sources, and then schedules worker nodes that are able to intelligently query the underlying databases they connect to.
In this deployment, Trino is deployed in conjunction with MinIO for Dataset Store, Hive Metastore for Metadata, and Redis for table schema.
Before performing the installation, make sure to have the following in place:
- kubectl — The primary command-line tool for managing Kubernetes clusters, which allows you to inspect, manipulate, and administer cluster resources.
- helm — A package manager for Kubernetes. Helm allows you to deploy, upgrade, and manage applications within your cluster using pre-defined charts.
Procedure
- Clone the GitHub repository to access the resources needed for deploying Trino on Kubernetes.
- Create a new namespace for Trino in kubectl to provide isolated environments for applications.
- Create a generic Kubernetes secret for sourcing data from a JSON file to secure the Redis table schema.
- Add the Bitnami and Trino repositories to the Helm configuration.
- Install PostgreSQL.
- Update the /blog-assets/trino-on-kubernetes/hive-metastore/values.yaml file with MinIO details and deploy the Hive Metastore within the Trino namespace.
- Deploy Redis in the Trino namespace using the Helm chart to hold Trino table schema for enhanced query performance.
- Update /blog-assets/trino-on-kubernetes/trino/values.yaml with MinIO details and deploy Trino as the distributed SQL query engine.
-
On successful deployment, verify that all the components are running correctly.
The expected output shows all pods in
Runningstatus, includinghive-metastore-postgresql-0,my-hive-metastore-0,my-redis-master-0,my-redis-replicas-0throughmy-redis-replicas-2,my-trino-coordinator, andmy-trino-workerpods.