MC2 Services and Configuration Files Overview
After MC2 All Services installation the following services will be registered in processguard_custom.xml and configurations for ports will be added to system.xml:
extractservicelb - the MC2 Extract Service Load Balancer process. It exposes direct SOAP, REST APIs and a TpeSend API for exposing these APIs with Eagle IIS. The SOAP and REST requests are being normalized and assigned for execution to a extractservice worker process, or to a pyruleservice worker process. The Extract Service Load Balancer also starts the pyuleservice to implement the EDS interfaces, as well as the healthcheck python process.
extractserviceworker - the MC2 Extract Service Worker process. It implements the engine to execute EagleML extracts and EJM processes, as well as the implementation for JMS and Kafka consumption.
kafkaservice - this process runs a Zookeeper and Kafka cluster and is used as a messaging backbone for communication between Extract Service and Pyruleservice, asynchronous database updates implementation and EJM event processing. More information about Kafka can be found at What is Apache Kafka®? | Confluent
redisserver - the distributed in memory cache for MC2 extract service and pyruleservice. More information can be found at Redis - The Real-time Data Platform . MC2 configures a master/failover configuration where one node (first node in a region, by IP address) is the master and the rest are replicas.
redissentinel - the Redis Sentinel process manages the failover when the master process is stopped. Note - this process will not be running if only one app server machine is configured to run MC2 in the region. More information about Redis Sentinel can be found at High availability with Redis Sentinel
The following main configuration files affect how MC2 is running:
eaglemgr/config/processguard_custom.xml - defines what MC2 processes and running and with what parameters. Usually there is no need to change this.
cfg/system.xml - defines the base ports for MC2 services
estar/tpe/cfg/eaglemc2s/mc2-nodes.txt - defines the list of nodes MC2 runs. Generated automatically by the installer either using environment variables for DR installer, or as a list of running MC processes retrieved from msgcenter_dbo.active_processes files
estar/tpe/cfg/kafkaservice/kafka-nodes.txt - defines the list of nodes Kafka Service is running on. Usually is the same as mc2-nodes.txt and is generated during installation the same way as mc2-nodes.txt
estar/tpe/dynamic/mc2/cfg/extractservice.yml - defines custom configuration parameters for MC2. This is an optional file and is located in a shared location. It will affect MC2 Extract Service instances running on all nodes in a region.
estar/tpe/cfg/eaglemc2s/extractservice/applicatuon.yml - optional file defining custom configuration parameters for MC2. This is not in a shared location and affects the configuration on one node only.
estar/tpe/cfg/kafkaservice/kafka-service.yml - optional file defining custom configuration parameters for Kafka Service. This is not a shared location and affects the configuration on one node only.
estar/tpe/cfg/eaglemc2s/redis/redis.conf - the REDIS Server configuration.
estar/tpe/cfg/eaglemc2s/redis/sentinel.conf - the REDIS Sentinel configuration.