docker-compose-example5.yml (96 lines of code) (raw):
#
# Copyright (C) 2015-2019 Uber Technologies, Inc. (streaming-data@uber.com)
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
version: '3'
services:
devenv:
build: devenv/.
ports:
- "2181:2181"
- "9093:9093"
- "9094:9094"
healthcheck:
test: ["CMD", "./prepare-devenv.sh", "devenv", "5"]
interval: 5s
timeout: 10s
retries: 10
manager:
image: ureplicator
build: .
ports:
- "8100:8100"
command: "manager \
-config example/example-cluster.properties \
-srcClusters cluster1 \
-destClusters cluster2 \
-deployment ureplicator-example \
-env deployment \
-enableRebalance true \
-zookeeper devenv:2181/ureplicator-example \
-managerPort 8100 \
-initMaxNumWorkersPerRoute 5 \
-maxNumWorkersPerRoute 10
"
restart: always
links:
- devenv
environment:
- WAIT_FOR_HOST=devenv:2181
healthcheck:
test: ["CMD", "./wait-for-it.sh", "manager:8100", "60"]
interval: 5s
timeout: 10s
retries: 5
controller:
image: ureplicator
ports:
- "9000:9000"
command: "controller \
-config example/example-cluster.properties \
-enableFederated true \
-deploymentName ureplicator-example \
-srcClusters cluster1 \
-destClusters cluster2 \
-helixClusterName ureplicator \
-mode customized \
-zookeeper devenv:2181/ureplicator-example \
-port 9000 \
-instanceId 1 \
-hostname controller \
-offsetRefreshIntervalInSec 0 \
-enableAutoWhitelist false
"
environment:
- WAIT_FOR_HOST=manager:8100
restart: always
links:
- devenv
- manager
worker_1:
image: ureplicator
command: "worker \
-consumer_config example/example-consumer.properties \
-producer_config example/example-producer.properties \
-federated_enabled true \
-helix_config example/example-helix-3.properties \
-topic_partition_count_observer true \
-cluster_config example/example-cluster.properties"
environment:
- WAIT_FOR_HOST=manager:8100
links:
- devenv
- manager
- controller
worker_2:
image: ureplicator
command: "worker \
-consumer_config example/example-consumer.properties \
-producer_config example/example-producer.properties \
-federated_enabled true \
-helix_config example/example-helix-4.properties \
-topic_partition_count_observer true \
-cluster_config example/example-cluster.properties"
environment:
- WAIT_FOR_HOST=manager:8100
restart: always
links:
- devenv
- manager
- controller