Skip to main content
This guide shows how to deploy Lakekeeper, a self-hosted REST catalog service, for use with RisingWave. A Lakekeeper catalog can be used when creating Iceberg sources, sinks, and internal tables.
For a complete list of all catalog-related parameters, see the main Catalog configuration page.
You can deploy this configuration using one of two methods:
  • Docker: Use this method for local testing and development.
  • Kubernetes (Helm): Use this method for production or clustered environments.

Deploy with Docker

Prerequisites

  1. Ensure Docker Desktop is installed and running in your environment.
  2. Clone the RisingWave repository.
  3. Navigate to the docker directory within the repository.
  4. Run the docker compose command to start the services. This command deploys a RisingWave cluster and the Lakekeeper catalog. A default warehouse named risingwave-warehouse is automatically created. You can view its configuration at http://localhost:8181/ui/warehouse after the services are running.
  5. Connect to RisingWave to begin creating tables:

Steps

  1. Create an Iceberg connection. There are two ways to configure the connection:
    Since v2.7.0, RisingWave supports credential vending protocol, allowing RisingWave to obtain temporary object storage credentials directly from Lakekeeper. Make sure to set catalog.type = 'rest' and vended_credentials = true.
  2. Set the connection as the default for your session.
  3. Create an internal Iceberg table.
  4. Insert data into the table.
  5. Query the table to verify the data.

Deploy with Kubernetes (Helm)

Prerequisites

Ensure your Kubernetes environment is configured with Helm by following the installation instructions.

Steps

  1. Add the RisingWave and Lakekeeper Helm repositories.
  2. Create a Kubernetes namespace for the deployment.
  3. Use Helm to install RisingWave with its bundled components.
  4. Use Helm to install Lakekeeper.
  5. Verify that all pods are running successfully.
  6. Retrieve the default root password for the MinIO service.
  7. Forward the necessary ports. Run each command in a separate terminal.
  8. Configure the storage warehouse in the Lakekeeper UI.
    This guide uses MinIO as an example. If you use a different object store, such as Amazon S3, configure it accordingly in the Lakekeeper UI.
    Open http://localhost:9001 in a browser and create a bucket (e.g., “abc”). Then, open http://localhost:8181 and create a warehouse (e.g., “abc”), providing the following details:
    • Access key: root
    • Password: Use the password you obtained in the previous step.
    • Path style: Enable this toggle.
    • Region: us-east-1
  9. Connect to RisingWave and run the test queries.
    Next, create an Iceberg connection. There are two ways to configure the connection:
    Since v2.7.0, RisingWave supports credential vending protocol, allowing RisingWave to obtain temporary object storage credentials directly from Lakekeeper. Make sure to set catalog.type = 'rest' and vended_credentials = true.
    Then run the SQL test queries:

Optional: Credential vending for sources and sinks

Besides creating connection, Lakekeeper supports credential vending for sources and sinks when configured with valid object storage credentials. For more information on how vended credentials work, see Vended credentials.