You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
172 lines
4.6 KiB
YAML
172 lines
4.6 KiB
YAML
version: '3.3'
|
|
|
|
networks:
|
|
default:
|
|
driver: overlay
|
|
attachable: true
|
|
|
|
services:
|
|
pd0:
|
|
image: pingcap/pd:latest
|
|
ports:
|
|
- "2379"
|
|
volumes:
|
|
- ./config/pd.toml:/pd.toml:ro
|
|
- ./data:/data
|
|
- ./logs:/logs
|
|
command:
|
|
- --name=pd0
|
|
- --client-urls=http://0.0.0.0:2379
|
|
- --peer-urls=http://0.0.0.0:2380
|
|
- --advertise-client-urls=http://pd0:2379
|
|
- --advertise-peer-urls=http://pd0:2380
|
|
- --initial-cluster=pd0=http://pd0:2380,pd1=http://pd1:2380,pd2=http://pd2:2380
|
|
- --data-dir=/data/pd0
|
|
- --config=/pd.toml
|
|
- --log-file=/logs/pd0.log
|
|
pd1:
|
|
image: pingcap/pd:latest
|
|
ports:
|
|
- "2379"
|
|
volumes:
|
|
- ./config/pd.toml:/pd.toml:ro
|
|
- ./data:/data
|
|
- ./logs:/logs
|
|
command:
|
|
- --name=pd1
|
|
- --client-urls=http://0.0.0.0:2379
|
|
- --peer-urls=http://0.0.0.0:2380
|
|
- --advertise-client-urls=http://pd1:2379
|
|
- --advertise-peer-urls=http://pd1:2380
|
|
- --initial-cluster=pd0=http://pd0:2380,pd1=http://pd1:2380,pd2=http://pd2:2380
|
|
- --data-dir=/data/pd1
|
|
- --config=/pd.toml
|
|
- --log-file=/logs/pd1.log
|
|
pd2:
|
|
image: pingcap/pd:latest
|
|
ports:
|
|
- "2379"
|
|
volumes:
|
|
- ./config/pd.toml:/pd.toml:ro
|
|
- ./data:/data
|
|
- ./logs:/logs
|
|
command:
|
|
- --name=pd2
|
|
- --client-urls=http://0.0.0.0:2379
|
|
- --peer-urls=http://0.0.0.0:2380
|
|
- --advertise-client-urls=http://pd2:2379
|
|
- --advertise-peer-urls=http://pd2:2380
|
|
- --initial-cluster=pd0=http://pd0:2380,pd1=http://pd1:2380,pd2=http://pd2:2380
|
|
- --data-dir=/data/pd2
|
|
- --config=/pd.toml
|
|
- --log-file=/logs/pd2.log
|
|
tikv:
|
|
image: pingcap/tikv:latest
|
|
ports:
|
|
- target: 20160
|
|
published: 20160
|
|
environment:
|
|
- TASK_SLOT={{.Task.Slot}}
|
|
volumes:
|
|
- ./config/tikv.toml:/tikv.toml:ro
|
|
- ./data:/data
|
|
- ./logs:/logs
|
|
entrypoint: [ "/bin/sh", "-c", "/tikv-server --advertise-addr=$$HOSTNAME:20160 --addr=0.0.0.0:20160 --data-dir=/data/tikv$$TASK_SLOT --pd=pd0:2379,pd1:2379,pd2:2379 --config=/tikv.toml --log-file=/logs/tikv$$TASK_SLOT.log --log-level=info" ]
|
|
depends_on:
|
|
- "pd0"
|
|
- "pd1"
|
|
- "pd2"
|
|
deploy:
|
|
replicas: 3
|
|
restart_policy:
|
|
condition: on-failure
|
|
|
|
tidb:
|
|
image: pingcap/tidb:latest
|
|
ports:
|
|
- target: 4000
|
|
published: 4000
|
|
- target: 10080
|
|
published: 10080
|
|
environment:
|
|
- TASK_SLOT={{.Task.Slot}}
|
|
volumes:
|
|
- ./config/tidb.toml:/tidb.toml:ro
|
|
- ./logs:/logs
|
|
entrypoint: [ "/bin/sh", "-c", "/tidb-server --advertise-address=$$HOSTNAME --store=tikv --path=pd0:2379,pd1:2379,pd2:2379 --config=/tidb.toml --log-file=/logs/tidb$$TASK_SLOT.log -L info" ]
|
|
depends_on:
|
|
- "tikv"
|
|
deploy:
|
|
replicas: 1
|
|
|
|
tispark-master:
|
|
image: pingcap/tispark:latest
|
|
command:
|
|
- /opt/spark/sbin/start-master.sh
|
|
volumes:
|
|
- ./config/spark-defaults.conf:/opt/spark/conf/spark-defaults.conf:ro
|
|
environment:
|
|
SPARK_MASTER_PORT: 7077
|
|
SPARK_MASTER_WEBUI_PORT: 8080
|
|
ports:
|
|
- "7077:7077"
|
|
- "8080:8080"
|
|
depends_on:
|
|
- "tikv"
|
|
deploy:
|
|
replicas: 1
|
|
tispark-slave:
|
|
image: pingcap/tispark:latest
|
|
command:
|
|
- /opt/spark/sbin/start-slave.sh
|
|
- spark://tispark-master:7077
|
|
volumes:
|
|
- ./config/spark-defaults.conf:/opt/spark/conf/spark-defaults.conf:ro
|
|
environment:
|
|
SPARK_WORKER_WEBUI_PORT: 38081
|
|
ports:
|
|
- "38081:38081"
|
|
depends_on:
|
|
- tispark-master
|
|
deploy:
|
|
replicas: 1
|
|
|
|
tidb-vision:
|
|
image: pingcap/tidb-vision:latest
|
|
environment:
|
|
PD_ENDPOINT: pd0:2379
|
|
ports:
|
|
- "8010:8010"
|
|
|
|
# monitors
|
|
pushgateway:
|
|
image: prom/pushgateway:v0.3.1
|
|
command:
|
|
- --log.level=error
|
|
prometheus:
|
|
user: root
|
|
image: prom/prometheus:v2.2.1
|
|
command:
|
|
- --log.level=error
|
|
- --storage.tsdb.path=/data/prometheus
|
|
- --config.file=/etc/prometheus/prometheus.yml
|
|
ports:
|
|
- "9090:9090"
|
|
volumes:
|
|
- ./config/prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
|
- ./config/pd.rules.yml:/etc/prometheus/pd.rules.yml:ro
|
|
- ./config/tikv.rules.yml:/etc/prometheus/tikv.rules.yml:ro
|
|
- ./config/tidb.rules.yml:/etc/prometheus/tidb.rules.yml:ro
|
|
- ./data:/data
|
|
grafana:
|
|
image: grafana/grafana:6.0.1
|
|
environment:
|
|
GF_LOG_LEVEL: error
|
|
GF_PATHS_PROVISIONING: /etc/grafana/provisioning
|
|
GF_PATHS_CONFIG: /etc/grafana/grafana.ini
|
|
volumes:
|
|
- ./config/grafana:/etc/grafana
|
|
- ./config/dashboards:/var/lib/grafana/dashboards
|
|
ports:
|
|
- "3000:3000"
|