A Distributed Batch Framework Is a Distributed Operating System

A Distributed Batch Framework Is a Distributed Operating System An architecture diagram generated by Archify. Job client · submits the workflow · Architecture component · outside the cluster Job client submits the workflow outside the cluster Workflow scheduler · DAG of jobs · Orchestration layer · Airflow-style Workflow scheduler DAG of jobs Airflow-style Scheduler · decides which task runs where · Orchestration layer Scheduler decides which task runs where Resource manager · global cluster state · Orchestration layer · ZooKeeper / etcd Resource manager global cluster state ZooKeeper / etcd Executor on each node · runs tasks, cgroups isolation · Compute layer · on every node Executor on each node runs tasks, cgroups isolation on every node Batch task · input shard → output shard · Compute layer Batch task input shard → output shard Data nodes · blocks 128MB / 4MB · Storage layer · replicated or erasure-coded Data nodes blocks 128MB / 4MB replicated or erasure-coded Metadata service · file locations, permissions · Storage layer · NameNode Metadata service file locations, permissions NameNode Object store · bucket + key, immutable · Storage layer · S3-style API Object store bucket + key, immutable S3-style API submit workflow (DAG of jobs) submit job (N tasks, resources, code) query cluster state assign task, prefer data locality heartbeats + task status runs each task read input shard / write output shard resolve block locations read input / write output through pluggable protocol (S3 API) Orchestration layer Compute layer Storage layer Legend Backend Database Cloud External