diff --git a/config/tiflash-learner.toml b/config/tiflash-learner.toml new file mode 100644 index 0000000..6f15c4c --- /dev/null +++ b/config/tiflash-learner.toml @@ -0,0 +1,45 @@ +log-file = "/logs/tiflash_tikv.log" + +[readpool] + +[readpool.coprocessor] + +[readpool.storage] + +[server] +engine-addr = "0.0.0.0:4030" +addr = "0.0.0.0:20280" +advertise-addr = "0.0.0.0:20280" +status-addr = "0.0.0.0:20292" + +[storage] +data-dir = "/data/flash" + +[pd] + +[metric] + +[raftstore] +capacity = "100GB" + +[coprocessor] + +[rocksdb] +wal-dir = "" + +[rocksdb.defaultcf] + +[rocksdb.lockcf] + +[rocksdb.writecf] + +[raftdb] + +[raftdb.defaultcf] + +[security] +ca-path = "" +cert-path = "" +key-path = "" + +[import] diff --git a/config/tiflash.toml b/config/tiflash.toml new file mode 100644 index 0000000..a28408e --- /dev/null +++ b/config/tiflash.toml @@ -0,0 +1,79 @@ +default_profile = "default" +display_name = "TiFlash" +listen_host = "0.0.0.0" +mark_cache_size = 5368709120 +tmp_path = "/data/tmp" +path = "/data" +tcp_port = 9110 +http_port = 8223 + +[flash] +tidb_status_addr = "tidb:10080" +service_addr = "0.0.0.0:4030" + +[flash.flash_cluster] +cluster_manager_path = "/tiflash/flash_cluster_manager" +log = "/logs/tiflash_cluster_manager.log" +master_ttl = 60 +refresh_interval = 20 +update_rule_interval = 5 + +[flash.proxy] +config = "/tiflash-learner.toml" + +[status] +metrics_port = 8234 + +[logger] +errorlog = "/logs/tiflash_error.log" +log = "/logs/tiflash.log" +count = 20 +level = "debug" +size = "1000M" + +[application] +runAsDaemon = true + +[raft] +pd_addr = "pd0:2379,pd1:2379,pd2:2379" +storage_engine = "tmt" + +[quotas] + +[quotas.default] + +[quotas.default.interval] +duration = 3600 +errors = 0 +execution_time = 0 +queries = 0 +read_rows = 0 +result_rows = 0 + +[users] + +[users.default] +password = "" +profile = "default" +quota = "default" + +[users.default.networks] +ip = "::/0" + +[users.readonly] +password = "" +profile = "readonly" +quota = "default" + +[users.readonly.networks] +ip = "::/0" + +[profiles] + +[profiles.default] +load_balancing = "random" +max_memory_usage = 10000000000 +use_uncompressed_cache = 0 + +[profiles.readonly] +readonly = 1 \ No newline at end of file diff --git a/docker-compose-tiflash.yml b/docker-compose-tiflash.yml new file mode 100644 index 0000000..d5b6d78 --- /dev/null +++ b/docker-compose-tiflash.yml @@ -0,0 +1,183 @@ +version: '2.1' + +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 + restart: on-failure + 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 + restart: on-failure + 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 + restart: on-failure + tikv0: + image: pingcap/tikv:latest + volumes: + - ./config/tikv.toml:/tikv.toml:ro + - ./data:/data + - ./logs:/logs + command: + - --addr=0.0.0.0:20160 + - --advertise-addr=tikv0:20160 + - --data-dir=/data/tikv0 + - --pd=pd0:2379,pd1:2379,pd2:2379 + - --config=/tikv.toml + - --log-file=/logs/tikv0.log + depends_on: + - "pd0" + - "pd1" + - "pd2" + restart: on-failure + tikv1: + image: pingcap/tikv:latest + volumes: + - ./config/tikv.toml:/tikv.toml:ro + - ./data:/data + - ./logs:/logs + command: + - --addr=0.0.0.0:20160 + - --advertise-addr=tikv1:20160 + - --data-dir=/data/tikv1 + - --pd=pd0:2379,pd1:2379,pd2:2379 + - --config=/tikv.toml + - --log-file=/logs/tikv1.log + depends_on: + - "pd0" + - "pd1" + - "pd2" + restart: on-failure + tikv2: + image: pingcap/tikv:latest + volumes: + - ./config/tikv.toml:/tikv.toml:ro + - ./data:/data + - ./logs:/logs + command: + - --addr=0.0.0.0:20160 + - --advertise-addr=tikv2:20160 + - --data-dir=/data/tikv2 + - --pd=pd0:2379,pd1:2379,pd2:2379 + - --config=/tikv.toml + - --log-file=/logs/tikv2.log + depends_on: + - "pd0" + - "pd1" + - "pd2" + restart: on-failure + tidb: + image: pingcap/tidb:latest + ports: + - "4000:4000" + - "10080:10080" + volumes: + - ./config/tidb.toml:/tidb.toml:ro + - ./logs:/logs + command: + - --store=tikv + - --path=pd0:2379,pd1:2379,pd2:2379 + - --config=/tidb.toml + - --log-file=/logs/tidb.log + depends_on: + - "tikv0" + - "tikv1" + - "tikv2" + restart: on-failure + tiflash: + image: pingcap/tiflash:latest + volumes: + - ./config/tiflash.toml:/tiflash.toml:ro + - ./config/tiflash-learner.toml:/tiflash-learner.toml:ro + - ./data:/data + - ./logs:/logs + command: + - --config=/tiflash.toml + depends_on: + - "tikv0" + - "tikv1" + - "tikv2" + - "tidb" + restart: on-failure + # monitors + pushgateway: + image: prom/pushgateway:v0.3.1 + command: + - --log.level=error + restart: on-failure + 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 + restart: on-failure + grafana: + image: grafana/grafana:6.0.1 + user: "0" + 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:/tmp/dashboards + - ./data/grafana:/var/lib/grafana + ports: + - "3000:3000" + restart: on-failure