https://github.com/altinity/cross-db-docker-compose
cross DB setup with docker-compose for Clickhouse with Clickhouse Keeper
https://github.com/altinity/cross-db-docker-compose
Last synced: 3 months ago
JSON representation
cross DB setup with docker-compose for Clickhouse with Clickhouse Keeper
- Host: GitHub
- URL: https://github.com/altinity/cross-db-docker-compose
- Owner: Altinity
- Created: 2024-11-26T01:31:53.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-19T06:00:32.000Z (9 months ago)
- Last Synced: 2025-09-08T00:48:20.426Z (9 months ago)
- Size: 32.2 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# cross-DB-docker-compose
# ClickHouse Multi-Region Cluster Setup with Disaster Recovery
This repository contains the configuration and instructions for setting up a multi-region ClickHouse cluster with disaster recovery capabilities using ClickHouse Keeper.
## Architecture Overview
### Region One (172.25.0.0/16)
- 3 ClickHouse servers (172.25.0.12-14)
- 3 ClickHouse keepers (172.25.0.2-4)
### Region Two (172.26.0.0/16)
- 3 ClickHouse servers (172.26.0.12-14)
- 3 ClickHouse keepers (172.26.0.2-4)
## Prerequisites
- Docker and Docker Compose installed
- Basic understanding of ClickHouse and distributed systems
- Sufficient resources to run multiple Docker containers
- Network connectivity between regions
## Detailed Setup Steps
### 0. Clear everything
#### Delete containers and volumes
```bash
docker compose -f region_one/docker-compose-clickhouse.yaml down
docker compose -f region_two/docker-compose-clickhouse.yaml down
docker compose -f region_one/docker-compose-keeper.yaml down
docker compose -f region_two/docker-compose-keeper.yaml down
docker compose -f region_two/docker-compose-keeper-fail.yaml down
docker compose -f region_two/docker-compose-keeper-fail-step2.yaml down
docker volume rm $(docker volume ls -q | grep -E '^region_one_clickhouse[0-9]+-keeper-(data|logs)$')
docker volume rm $(docker volume ls -q | grep -E '^region_two_clickhouse[0-9]+-keeper-(data|logs)$')
```
#### Revert configuration changes
```bash
sed -E -i 's/server_id="1">(true|false)true(true|false)true(true|false)true(true|false)false(true|false)false(true|false)false(true|false)false(true|false)false(true|false)false(true|false)true(true|false)false(true|false)false(true|false)true(true|false)true(true|false)false(true|false)false(true|false)false(true|false)true(true|false)true(true|false)true(true|false)false(true|false)false(true|false)false