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.

  • Make sure that the nodes designated for dedicated cluster services are cordoned and drained before you start the BMC Helix IT Operations Management deployment. This process removes workloads from these nodes, making them available for the services.
  • For zero-downtime (ZDT) upgrades, you might need additional space in the node for the pending services schedule to handle the overhead for the service to run twice on a node.

To enable the node for data lake components

  1. Identify the node to run only infra components.
  2. Run the following command to enable the node for infra components.
    $ kubectl taint node <nodename> helix_dedicated=true:NoSchedule
  3. 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
  4. Open infra.config file and edit the ENABLE_DEDICATED_NODES_FOR_INFRA parameter value to yes.
  5. For more details, See Configuration-file-settings.
  6. 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*