Skip to content

Commit

Permalink
feat: make pg meta backend by default in docker compose (#16724)
Browse files Browse the repository at this point in the history
  • Loading branch information
yezizp2012 authored May 14, 2024
1 parent 7419439 commit 76278e9
Show file tree
Hide file tree
Showing 10 changed files with 734 additions and 136 deletions.
379 changes: 379 additions & 0 deletions docker/docker-compose-distributed-etcd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,379 @@
---
version: "3"
x-image: &image
image: ${RW_IMAGE:-risingwavelabs/risingwave:v1.8.2}
services:
compactor-0:
<<: *image
command:
- compactor-node
- "--listen-addr"
- "0.0.0.0:6660"
- "--advertise-addr"
- "compactor-0:6660"
- "--prometheus-listener-addr"
- "0.0.0.0:1260"
- "--meta-address"
- "http://meta-node-0:5690"
- "--config-path"
- /risingwave.toml
expose:
- "6660"
- "1260"
ports: []
depends_on:
- meta-node-0
# - minio-0
volumes:
- "./risingwave.toml:/risingwave.toml"
environment:
RUST_BACKTRACE: "1"
# If ENABLE_TELEMETRY is not set, telemetry will start by default
ENABLE_TELEMETRY: ${ENABLE_TELEMETRY:-true}
container_name: compactor-0
healthcheck:
test:
- CMD-SHELL
- bash -c 'printf \"GET / HTTP/1.1\n\n\" > /dev/tcp/127.0.0.1/6660; exit $$?;'
interval: 1s
timeout: 5s
retries: 5
restart: always
deploy:
resources:
limits:
memory: 2G
reservations:
memory: 1G
compute-node-0:
<<: *image
command:
- compute-node
- "--listen-addr"
- "0.0.0.0:5688"
- "--advertise-addr"
- "compute-node-0:5688"
- "--prometheus-listener-addr"
- "0.0.0.0:1222"
- "--meta-address"
- "http://meta-node-0:5690"
- "--config-path"
- /risingwave.toml
expose:
- "5688"
- "1222"
ports: []
depends_on:
- meta-node-0
# - minio-0
volumes:
- "./risingwave.toml:/risingwave.toml"
environment:
RUST_BACKTRACE: "1"
# If ENABLE_TELEMETRY is not set, telemetry will start by default
ENABLE_TELEMETRY: ${ENABLE_TELEMETRY:-true}
container_name: compute-node-0
healthcheck:
test:
- CMD-SHELL
- bash -c 'printf \"GET / HTTP/1.1\n\n\" > /dev/tcp/127.0.0.1/5688; exit $$?;'
interval: 1s
timeout: 5s
retries: 5
restart: always
deploy:
resources:
limits:
memory: 26G
reservations:
memory: 26G
etcd-0:
image: "quay.io/coreos/etcd:v3.5.10"
command:
- /usr/local/bin/etcd
- "--listen-client-urls"
- "http://0.0.0.0:2388"
- "--advertise-client-urls"
- "http://etcd-0:2388"
- "--listen-peer-urls"
- "http://0.0.0.0:2389"
- "--initial-advertise-peer-urls"
- "http://etcd-0:2389"
- "--listen-metrics-urls"
- "http://0.0.0.0:2379"
- "--name"
- risedev-meta
- "--max-txn-ops"
- "999999"
- "--max-request-bytes"
- "10485760"
- "--auto-compaction-mode"
- periodic
- "--auto-compaction-retention"
- 1m
- "--snapshot-count"
- "10000"
- "--data-dir"
- /etcd-data
expose:
- "2388"
ports:
- "2388:2388"
- "2389:2389"
depends_on: []
volumes:
- "etcd-0:/etcd-data"
environment: {}
container_name: etcd-0
healthcheck:
test:
- CMD
- etcdctl
- --endpoints=http://localhost:2388
- endpoint
- health
interval: 1s
timeout: 5s
retries: 5
restart: always
frontend-node-0:
<<: *image
command:
- frontend-node
- "--listen-addr"
- "0.0.0.0:4566"
- "--meta-addr"
- "http://meta-node-0:5690"
- "--advertise-addr"
- "frontend-node-0:4566"
- "--config-path"
- /risingwave.toml
- "--prometheus-listener-addr"
- "0.0.0.0:2222"
expose:
- "4566"
ports:
- "4566:4566"
depends_on:
- meta-node-0
volumes:
- "./risingwave.toml:/risingwave.toml"
environment:
RUST_BACKTRACE: "1"
# If ENABLE_TELEMETRY is not set, telemetry will start by default
ENABLE_TELEMETRY: ${ENABLE_TELEMETRY:-true}
container_name: frontend-node-0
healthcheck:
test:
- CMD-SHELL
- bash -c 'printf \"GET / HTTP/1.1\n\n\" > /dev/tcp/127.0.0.1/4566; exit $$?;'
interval: 1s
timeout: 5s
retries: 5
restart: always
deploy:
resources:
limits:
memory: 2G
reservations:
memory: 1G
grafana-0:
image: "grafana/grafana-oss:latest"
command: []
expose:
- "3001"
ports:
- "3001:3001"
depends_on: []
volumes:
- "grafana-0:/var/lib/grafana"
- "./grafana.ini:/etc/grafana/grafana.ini"
- "./grafana-risedev-datasource.yml:/etc/grafana/provisioning/datasources/grafana-risedev-datasource.yml"
- "./grafana-risedev-dashboard.yml:/etc/grafana/provisioning/dashboards/grafana-risedev-dashboard.yml"
- "./dashboards:/dashboards"
environment: {}
container_name: grafana-0
healthcheck:
test:
- CMD-SHELL
- bash -c 'printf \"GET / HTTP/1.1\n\n\" > /dev/tcp/127.0.0.1/3001; exit $$?;'
interval: 1s
timeout: 5s
retries: 5
restart: always
meta-node-0:
<<: *image
command:
- meta-node
- "--listen-addr"
- "0.0.0.0:5690"
- "--advertise-addr"
- "meta-node-0:5690"
- "--dashboard-host"
- "0.0.0.0:5691"
- "--prometheus-host"
- "0.0.0.0:1250"
- "--prometheus-endpoint"
- "http://prometheus-0:9500"
- "--backend"
- etcd
- "--etcd-endpoints"
- "etcd-0:2388"
- "--state-store"
- "hummock+minio://hummockadmin:hummockadmin@minio-0:9301/hummock001"
- "--data-directory"
- "hummock_001"
- "--config-path"
- /risingwave.toml
expose:
- "5690"
- "1250"
- "5691"
ports:
- "5690:5690"
- "5691:5691"
depends_on:
- "etcd-0"
volumes:
- "./risingwave.toml:/risingwave.toml"
environment:
RUST_BACKTRACE: "1"
# If ENABLE_TELEMETRY is not set, telemetry will start by default
ENABLE_TELEMETRY: ${ENABLE_TELEMETRY:-true}
container_name: meta-node-0
healthcheck:
test:
- CMD-SHELL
- bash -c 'printf \"GET / HTTP/1.1\n\n\" > /dev/tcp/127.0.0.1/5690; exit $$?;'
interval: 1s
timeout: 5s
retries: 5
restart: always
deploy:
resources:
limits:
memory: 2G
reservations:
memory: 1G
minio-0:
image: "quay.io/minio/minio:latest"
command:
- server
- "--address"
- "0.0.0.0:9301"
- "--console-address"
- "0.0.0.0:9400"
- /data
expose:
- "9301"
- "9400"
ports:
- "9301:9301"
- "9400:9400"
depends_on: []
volumes:
- "minio-0:/data"
entrypoint: "
/bin/sh -c '
set -e
mkdir -p \"/data/hummock001\"
/usr/bin/docker-entrypoint.sh \"$$0\" \"$$@\"
'"
environment:
MINIO_CI_CD: "1"
MINIO_PROMETHEUS_AUTH_TYPE: public
MINIO_PROMETHEUS_URL: "http://prometheus-0:9500"
MINIO_ROOT_PASSWORD: hummockadmin
MINIO_ROOT_USER: hummockadmin
MINIO_DOMAIN: "minio-0"
container_name: minio-0
healthcheck:
test:
- CMD-SHELL
- bash -c 'printf \"GET / HTTP/1.1\n\n\" > /dev/tcp/127.0.0.1/9301; exit $$?;'
interval: 1s
timeout: 5s
retries: 5
restart: always
prometheus-0:
image: "prom/prometheus:latest"
command:
- "--config.file=/etc/prometheus/prometheus.yml"
- "--storage.tsdb.path=/prometheus"
- "--web.console.libraries=/usr/share/prometheus/console_libraries"
- "--web.console.templates=/usr/share/prometheus/consoles"
- "--web.listen-address=0.0.0.0:9500"
- "--storage.tsdb.retention.time=30d"
expose:
- "9500"
ports:
- "9500:9500"
depends_on: []
volumes:
- "prometheus-0:/prometheus"
- "./prometheus.yaml:/etc/prometheus/prometheus.yml"
environment: {}
container_name: prometheus-0
healthcheck:
test:
- CMD-SHELL
- sh -c 'printf "GET /-/healthy HTTP/1.0\n\n" | nc localhost 9500; exit $$?;'
interval: 1s
timeout: 5s
retries: 5
restart: always
message_queue:
image: "docker.vectorized.io/vectorized/redpanda:latest"
command:
- redpanda
- start
- "--smp"
- "1"
- "--reserve-memory"
- 0M
- "--memory"
- 4G
- "--overprovisioned"
- "--node-id"
- "0"
- "--check=false"
- "--kafka-addr"
- "PLAINTEXT://0.0.0.0:29092,OUTSIDE://0.0.0.0:9092"
- "--advertise-kafka-addr"
- "PLAINTEXT://message_queue:29092,OUTSIDE://localhost:9092"
expose:
- "29092"
- "9092"
- "9644"
ports:
- "29092:29092"
- "9092:9092"
- "9644:9644"
- "8081:8081"
depends_on: []
volumes:
- "message_queue:/var/lib/redpanda/data"
environment: {}
container_name: message_queue
healthcheck:
test: curl -f localhost:9644/v1/status/ready
interval: 1s
timeout: 5s
retries: 5
restart: always
volumes:
etcd-0:
external: false
grafana-0:
external: false
minio-0:
external: false
prometheus-0:
external: false
message_queue:
external: false
Loading

0 comments on commit 76278e9

Please sign in to comment.