Stacked services are applications that are running on the same system, or node. Scuba consists of the following services that can be run on individual systems, or stacked on a single node:
Config Node: The node from which you administer the cluster. This should be configured first. MySQL database (DB) is only installed on this node for storage of Scuba metadata.
API Node: The node which serves Scuba application, merges results of queries from data and string nodes, and then presents those results. Nginx is only installed on this node.
Import Node: The node that polls data repositories (S3, Azure, local file system), downloads new files, processes the data, and then sends to data and string tiers, as appropriate.
Data Node: The node that is responsible for data storage. It must have enough space to accommodate all events and stream simultaneous query results.
String Node: The node with string storage for the active strings in the dataset, stored in compressed format. It requires sufficient memory to hold the working set of strings accessed during queries.
Listener Node: If applicable, streams live data from the web or cloud; also known as streaming ingest.