Why it matters

Every Impala operational issue traces to one of these daemons. Query slowness is Impalad. Slow metastore sync is Catalog. Slow cluster health changes are Statestore. Knowing the mapping is what makes ops fast.

Advertisement

The architecture

Impalad has three roles: query planner (when it receives a query), query coordinator (when it's the target of a query), and query executor (when running fragments for a query). Any Impalad can play any role. In practice, load-balanced client connections spread coordination load.

Statestore is a lightweight publish-subscribe service. It maintains topics (cluster membership, catalog updates) and pushes updates to subscribed Impalads on any change.

Catalog service watches the Hive Metastore for changes, caches full metadata locally, and pushes deltas to Impalads via the Statestore.

Impala daemon responsibilitiesImpaladplan+exec+coordStatestorepub/subCatalogmetastore cacheStatestore glues everything together via topic subscriptions
Impala three-daemon breakdown.
Advertisement

How it works end to end

On startup, an Impalad subscribes to statestore topics. It receives the current cluster membership and current catalog snapshot. It then registers itself in the membership topic so other Impalads know it exists.

When a query arrives at an Impalad, the daemon plans it using cached catalog, dispatches fragments to relevant Impalads (identified via membership), and coordinates result gathering.

Catalog changes flow: DDL runs on any Impalad → Impalad forwards to Catalog service → Catalog updates metastore → Catalog pushes delta to Statestore → Statestore broadcasts to all Impalads.