Enabling the nodes for data lake components
When you have a multi-node setup, you can dedicate a node to run data lake components only like MinIO, PostgreSQL, Redis, Kafka, and so on.
To enable the node for data lake components
- Identify the node to run only infra components.
- Run the following command to enable the node for infra components.
$ kubectl taint node <nodename> helix_dedicated=true:NoSchedule - Run the respective commands to assign or label the node for each infra component that you want to run on the dedicated node.
MINIO
$ kubectl label node <nodename> dedicated_node_minio=true
POSTGRES
$ kubectl label node <dedicated node names> dedicated_node_pg=true
$ kubectl label node <dedicated node names>dedicated_node_pgpool=true
KAFKA
$ kubectl label node <nodename> dedicated_node_kafka=true
REDIS
$ kubectl label node <nodename> dedicated_node_redis=true
VM
$ kubectl label node <nodename> dedicated_node_vm=true
ELASTICSEARCH
$ kubectl label node <nodename> dedicated_node_es=true
# Postgres-ha
$ kubectl label node <dedicated node names> dedicated_node_pg=true
# pgpool
$ kubectl label node <dedicated node names> dedicated_node_pgpool=true
# kafka
$ kubectl label node <dedicated node names> dedicated_node_kafka=true
# zookeeper
$ kubectl label node <dedicated node names> dedicated_node_zookeeper=true
# redis-ha
$ kubectl label node <dedicated node names> dedicated_node_redis_ha=true
# redis-haproxy
$ kubectl label node <dedicated node names> dedicated_node_redis_haproxy=true
# victoriametrics-insert
$ kubectl label node <dedicated node names> dedicated_node_vminsert=true
# victoriametrics-select
$ kubectl label node <dedicated node names> dedicated_node_vmselect=true
# victoriametrics-storage
$ kubectl label node <dedicated node names> dedicated_node_vmstorage=true
# victoriametrics-insert-agg
$ kubectl label node <dedicated node names> dedicated_node_vminsert_agg=true
# victoriametrics-select-agg
$ kubectl label node <dedicated node names> dedicated_node_vmselect_agg=true
# victoriametrics-storage-agg
$ kubectl label node <dedicated node names> dedicated_node_vmstorage_agg=true
# opensearch-events-master
$ kubectl label node <dedicated node names> dedicated_node_opensearch_events_master=true
# opensearch-events-data
$ kubectl label node <dedicated node names> dedicated_node_opensearch_events_data=true
# opensearch-logs-master
$ kubectl label node <dedicated node names> dedicated_node_opensearch_logs_master=true
# opensearch-logs-data
$ kubectl label node <dedicated node names> dedicated_node_opensearch_logs_data=true
# minio
$ kubectl label node <dedicated node names> dedicated_node_minio=true - Open infra.config file and edit the ENABLE_DEDICATED_NODES_FOR_INFRA parameter value to yes.
- For more details, See Configuration-file-settings.
- Open dedicated-nodes-support.config file and set the value to yes for the component that you want to enable the dedicated node.
For example, to enable dedicated node for only redis, set the redis parameter values to yes as below:# Postgres
DN_PTPOSTGRES_HA=no
DN_PTPGPOOL=no
# Kafka
DN_KAFKA=no
DN_ZOOKEEPER=no
# Redis
DN_REDIS_HA=yes
DN_REDIS_HAPROXY=yes
# VicotriaMetrics
DN_VICTORIAMETRICS_INSERT=no
DN_VICTORIAMETRICS_SELECT=no
DN_VICTORIAMETRICS_STORAGE=no
DN_VICTORIAMETRICS_AGG_INSERT=no
DN_VICTORIAMETRICS_AGG_SELECT=no
DN_VICTORIAMETRICS_AGG_STORAGE=no
# OpenSearch
DN_ELASTICSEARCH_EVENTS_MASTER=no
DN_ELASTICSEARCH_EVENTS_DATA=no
DN_ELASTICSEARCH_LOGS_MASTER=no
DN_ELASTICSEARCH_LOGS_DATA=no
# Minio
DN_MINIO=no
Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*