2023-05-15 18:20:52 -04:00
|
|
|
#
|
|
|
|
# Licensed to the Apache Software Foundation (ASF) under one
|
|
|
|
# or more contributor license agreements. See the NOTICE file
|
|
|
|
# distributed with this work for additional information
|
|
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
|
|
# to you 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: "2.2"
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
metadata_data: {}
|
|
|
|
middle_var: {}
|
|
|
|
historical_var: {}
|
|
|
|
broker_var: {}
|
|
|
|
coordinator_var: {}
|
|
|
|
router_var: {}
|
|
|
|
druid_shared: {}
|
2023-08-10 18:43:05 -04:00
|
|
|
datagen_data: {}
|
2023-05-15 18:20:52 -04:00
|
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
postgres:
|
|
|
|
image: postgres:latest
|
|
|
|
container_name: postgres
|
|
|
|
profiles: ["druid-jupyter", "all-services"]
|
|
|
|
volumes:
|
|
|
|
- metadata_data:/var/lib/postgresql/data
|
|
|
|
environment:
|
|
|
|
- POSTGRES_PASSWORD=FoolishPassword
|
|
|
|
- POSTGRES_USER=druid
|
|
|
|
- POSTGRES_DB=druid
|
|
|
|
|
|
|
|
# Need 3.5 or later for container nodes
|
|
|
|
zookeeper:
|
|
|
|
image: zookeeper:latest
|
|
|
|
container_name: zookeeper
|
2023-06-21 12:11:00 -04:00
|
|
|
profiles: ["druid-jupyter", "kafka-jupyter", "all-services"]
|
2023-05-15 18:20:52 -04:00
|
|
|
environment:
|
|
|
|
- ZOO_MY_ID=1
|
|
|
|
- ALLOW_ANONYMOUS_LOGIN=yes
|
|
|
|
|
|
|
|
kafka:
|
|
|
|
image: bitnami/kafka:latest
|
|
|
|
container_name: kafka-broker
|
2023-06-21 12:11:00 -04:00
|
|
|
profiles: ["kafka-jupyter", "all-services"]
|
2023-05-15 18:20:52 -04:00
|
|
|
ports:
|
|
|
|
# To learn about configuring Kafka for access across networks see
|
|
|
|
# https://www.confluent.io/blog/kafka-client-cannot-connect-to-broker-on-aws-on-docker-etc/
|
|
|
|
- "9092:9092"
|
2023-07-11 13:01:20 -04:00
|
|
|
- '9094:9094'
|
2023-05-15 18:20:52 -04:00
|
|
|
depends_on:
|
|
|
|
- zookeeper
|
|
|
|
environment:
|
|
|
|
- KAFKA_BROKER_ID=1
|
2023-07-11 13:01:20 -04:00
|
|
|
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093,EXTERNAL://:9094
|
|
|
|
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,EXTERNAL://localhost:9094
|
|
|
|
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT
|
2023-05-15 18:20:52 -04:00
|
|
|
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
|
|
|
|
- ALLOW_PLAINTEXT_LISTENER=yes
|
2023-05-24 12:33:32 -04:00
|
|
|
- KAFKA_ENABLE_KRAFT=false
|
2023-05-15 18:20:52 -04:00
|
|
|
|
|
|
|
coordinator:
|
2023-07-25 14:02:16 -04:00
|
|
|
image: apache/druid:${DRUID_VERSION:-26.0.0}
|
2023-05-15 18:20:52 -04:00
|
|
|
container_name: coordinator
|
|
|
|
profiles: ["druid-jupyter", "all-services"]
|
|
|
|
volumes:
|
|
|
|
- druid_shared:/opt/shared
|
|
|
|
- coordinator_var:/opt/druid/var
|
|
|
|
depends_on:
|
|
|
|
- zookeeper
|
|
|
|
- postgres
|
|
|
|
ports:
|
|
|
|
- "8081:8081"
|
|
|
|
command:
|
|
|
|
- coordinator
|
|
|
|
env_file:
|
|
|
|
- environment
|
|
|
|
|
|
|
|
broker:
|
2023-07-25 14:02:16 -04:00
|
|
|
image: apache/druid:${DRUID_VERSION:-26.0.0}
|
2023-05-15 18:20:52 -04:00
|
|
|
container_name: broker
|
|
|
|
profiles: ["druid-jupyter", "all-services"]
|
|
|
|
volumes:
|
|
|
|
- broker_var:/opt/druid/var
|
|
|
|
depends_on:
|
|
|
|
- zookeeper
|
|
|
|
- postgres
|
|
|
|
- coordinator
|
|
|
|
ports:
|
|
|
|
- "8082:8082"
|
|
|
|
command:
|
|
|
|
- broker
|
|
|
|
env_file:
|
|
|
|
- environment
|
|
|
|
|
|
|
|
historical:
|
2023-07-25 14:02:16 -04:00
|
|
|
image: apache/druid:${DRUID_VERSION:-26.0.0}
|
2023-05-15 18:20:52 -04:00
|
|
|
container_name: historical
|
|
|
|
profiles: ["druid-jupyter", "all-services"]
|
|
|
|
volumes:
|
|
|
|
- druid_shared:/opt/shared
|
|
|
|
- historical_var:/opt/druid/var
|
|
|
|
depends_on:
|
|
|
|
- zookeeper
|
|
|
|
- postgres
|
|
|
|
- coordinator
|
|
|
|
ports:
|
|
|
|
- "8083:8083"
|
|
|
|
command:
|
|
|
|
- historical
|
|
|
|
env_file:
|
|
|
|
- environment
|
|
|
|
|
|
|
|
middlemanager:
|
2023-07-25 14:02:16 -04:00
|
|
|
image: apache/druid:${DRUID_VERSION:-26.0.0}
|
2023-05-15 18:20:52 -04:00
|
|
|
container_name: middlemanager
|
|
|
|
profiles: ["druid-jupyter", "all-services"]
|
|
|
|
volumes:
|
|
|
|
- druid_shared:/opt/shared
|
|
|
|
- middle_var:/opt/druid/var
|
|
|
|
depends_on:
|
|
|
|
- zookeeper
|
|
|
|
- postgres
|
|
|
|
- coordinator
|
|
|
|
ports:
|
|
|
|
- "8091:8091"
|
|
|
|
- "8100-8105:8100-8105"
|
|
|
|
command:
|
|
|
|
- middleManager
|
|
|
|
env_file:
|
|
|
|
- environment
|
|
|
|
|
|
|
|
router:
|
2023-07-25 14:02:16 -04:00
|
|
|
image: apache/druid:${DRUID_VERSION:-26.0.0}
|
2023-05-15 18:20:52 -04:00
|
|
|
container_name: router
|
|
|
|
profiles: ["druid-jupyter", "all-services"]
|
|
|
|
volumes:
|
|
|
|
- router_var:/opt/druid/var
|
|
|
|
depends_on:
|
|
|
|
- zookeeper
|
|
|
|
- postgres
|
|
|
|
- coordinator
|
|
|
|
ports:
|
|
|
|
- "8888:8888"
|
|
|
|
command:
|
|
|
|
- router
|
|
|
|
env_file:
|
|
|
|
- environment
|
|
|
|
|
|
|
|
jupyter:
|
|
|
|
image: imply/druid-notebook:latest
|
|
|
|
container_name: jupyter
|
2023-06-21 12:11:00 -04:00
|
|
|
profiles: ["jupyter", "kafka-jupyter", "druid-jupyter", "all-services"]
|
2023-05-15 18:20:52 -04:00
|
|
|
environment:
|
2023-06-21 12:11:00 -04:00
|
|
|
JUPYTER_ENABLE_LAB: "yes"
|
|
|
|
JUPYTER_TOKEN: "docker"
|
|
|
|
DOCKER_STACKS_JUPYTER_CMD: "lab"
|
2023-05-15 18:20:52 -04:00
|
|
|
NOTEBOOK_ARGS: "--NotebookApp.token=''"
|
2023-07-25 14:02:16 -04:00
|
|
|
DRUID_HOST: "${DRUID_HOST:-router}"
|
|
|
|
KAFKA_HOST: "${KAFKA_HOST:-kafka}"
|
2023-05-15 18:20:52 -04:00
|
|
|
ports:
|
|
|
|
- "${JUPYTER_PORT:-8889}:8888"
|
|
|
|
volumes:
|
2023-06-21 12:11:00 -04:00
|
|
|
- ../notebooks:/home/jovyan/notebooks
|
2023-08-10 18:43:05 -04:00
|
|
|
|
|
|
|
datagen:
|
|
|
|
image: imply/datagen:latest
|
|
|
|
container_name: datagen
|
|
|
|
profiles: ["jupyter", "kafka-jupyter", "druid-jupyter", "all-services"]
|
|
|
|
ports:
|
|
|
|
- "${DATAGEN_PORT:-9999}:9999"
|
|
|
|
volumes:
|
|
|
|
- datagen_data:/files
|