Starting a Ballista Cluster using Docker Compose

Docker Compose is a convenient way to launch a cluster when testing locally.

Build Docker Images

To create the required Docker images please refer to the docker deployment page.

Start a Cluster

Using the docker-compose.yml from the source repository, run the following command to start a cluster:

docker-compose up --build

This should show output similar to the following:

$ docker-compose up
Creating network "ballista-benchmarks_default" with the default driver
Creating ballista-benchmarks_ballista-scheduler_1 ... done
Creating ballista-benchmarks_ballista-executor_1  ... done
Attaching to ballista-benchmarks_ballista-scheduler_1, ballista-benchmarks_ballista-executor_1
ballista-scheduler_1  | INFO ballista_scheduler: Ballista v52.0.0 Scheduler listening on 0.0.0.0:50050
ballista-executor_1   | INFO ballista_executor: Ballista v52.0.0 Rust Executor listening on 0.0.0.0:50051

The scheduler listens on port 50050 and this is the port that clients will need to connect to.

Connect from the Ballista CLI

docker run --network=host -it apache/datafusion-ballista-cli:latest --host localhost --port 50050