Installing Memphis with an External Metadata Database
Memphis is a real-time data processing platform that can be configured to use an external metadata database for enhanced scalability and flexibility.
Prerequisites
Kubernetes client (
kubectlcommand) to interact with Kubernetes.Helm (
helmcommand) to install Kubernetes packages.An external metadata database ( PostgreSQL) set up and accessible.
Deployment Steps - Production Environment:
Step 1: Create a Namespace for Memphis deployment
A Kubernetes namespace provides a mechanism to partition cluster resources between multiple users.
kubectl create namespace memphisStep 2: Create a Secret for the Database Password
When creating a secret for your database password, you must replace CHANGEIT with the actual password you use to access your database. This should be done securely to prevent exposing the password:
kubectl create secret generic metadata-secret --from-literal=dbPass=CHANGEIT --namespace memphisVerifying Creation
After creating the namespace and the secret, you can verify their existence with the following kubectl commands:
To get memphis namespace:
kubectl get namespaces memphisTo view the created secret in
memphis:kubectl get secret metadata-secret --namespace memphis
Step 3: Install Memphis Using Helm
Now, you're ready to install Memphis into your Kubernetes cluster, specifically into the memphis namespace. Use the helm install command:
helm repo add memphis https://k8s.memphis.dev/charts/ --force-update && helm install memphis memphis/memphis --set \
global.cluster.enabled="true",\
metadata.enabled="false",\
metadata.external.enabled="true",\
metadata.external.dbName=<database_name>,\
metadata.external.dbHost=<database_host>,\
metadata.external.dbPort=<database_port>,\
metadata.external.dbUser=<database_user>,\
metadata.external.secret.enabled="true" \
--create-namespace --namespace memphis --waitDeployment Steps - Development Environment:
Step 1: Customize Configuration Values
Before running the Helm install command, identify all the CHANGEIT placeholder values in your configuration or command instructions.
Step 2: Install Memphis Using Helm:
helm repo add memphis https://k8s.memphis.dev/charts/ --force-update && helm install memphis memphis/memphis --set \
metadata.enabled="false",\
metadata.external.enabled="true",\
metadata.external.dbName=<database_name>,\
metadata.external.dbHost=<database_host>,\
metadata.external.dbPort=<database_port>,\
metadata.external.dbUser=<database_user>,\
metadata.external.dbPass=<database_pass> \
--create-namespace --namespace memphis After completing the installation of Memphis (or any application) in both production and development environments using Helm, you should verify the installation to ensure that the application's pods are running as expected. The kubectl get pods --namepsace memphis command is a straightforward way to check the status of your pods within the memphis namespace.
Last updated
Was this helpful?

