-
Notifications
You must be signed in to change notification settings - Fork 590
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: make pg meta backend by default in docker compose (#16724)
- Loading branch information
1 parent
7419439
commit 76278e9
Showing
10 changed files
with
734 additions
and
136 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
Oops, something went wrong.