Skip to main content

Set up a local RisingWave cluster with Docker Compose

This article will help you use the pre-defined Docker Compose configuration file to set up a full-featured multi-node RisingWave cluster.

note

If you intend to deploy RisingWave in production environments, please use the Kubernetes Operator for RisingWave. This is because it has better support for resource management, and we do comprehensive tests for it. To learn about how to deploy RisingWave using the Kubernetes Operator, see Kubernetes.

The cluster is composed of multiple RisingWave components, including:

  • A frontend node
  • A compute node
  • A meta node
  • A compactor node
  • A connector node

RisingWave also incorporates these third-party components:

  • Grafana
  • Etcd
  • MinIO or other s3-compatible object storage
  • Prometheus

Download the source file and start a cluster

As prerequisites, you need to install Docker Desktop in your environment. Ensure that it is running before launching the cluster.

Then, clone the risingwave repository.

git clone https://github.com/risingwavelabs/risingwave.git

Now run the following commands to navigate to the docker directory and start the cluster from the pre-defined docker-compose file.

Start a RisingWave cluster using MinIO

To use MinIO as the storage backend, run:

cd docker
docker compose up -d

Start a cluster on other S3-compatible object storage systems

If you want to deploy RisingWave using other S3-compatible storage systems, you need to customize these configurations.

  • Fill in your bucket-name here.
  • Configure region, endpoint, access key, and secret key in risingwave/docker/aws.env. Note that endpoint cannot contain bucket names.

Then run:

cd docker
docker compose -f docker-compose-s3.yml up -d

Connect to RisingWave

After RisingWave is up and running, you need to connect to it via the Postgres interactive terminal psql so that you can issue queries to RisingWave and see the query results.

psql -h localhost -p 4566 -d dev -U root

Now you can ingest and transform streaming data. See Quick start for details.

Manage your RisingWave cluster

When the cluster is running, you can monitor the status of RisingWave and the additional components and make adjustments when necessary.

RisingWave Dashboard

Access the RisingWave Dashboard at http://127.0.0.1:5691/. RisingWave Dashboard displays an overview of the cluster, as well as sources, sinks, tables, materialized views, and indexes available on the cluster.

Grafana

Access Grafana at http://127.0.0.1:3001/, and search for risingwave_dashboard. In this dashboard, you can view the internal metrics such as node count, memory consumption, thoroughputs, and latencies. You can use these metrics to troubleshoot and optimize the cluster performance.

MinIO

Access the MinIO instance at http://127.0.0.1:9400/. Use the following credentials to log in.

  • User name: hummockadmin
  • Password: hummockadmin

Prometheus

Access Prometheus at http://127.0.0.1:9500/. No credentials are needed. You can use Prometheus for real-time alerting.

Help us make this doc better!

Was this page helpful?

Happy React is loading...