Skip to content

Instantly share code, notes, and snippets.

@ags2121
Created March 23, 2018 16:01
Show Gist options
  • Save ags2121/807e820a5392842c8a8bea29587baf01 to your computer and use it in GitHub Desktop.
Save ags2121/807e820a5392842c8a8bea29587baf01 to your computer and use it in GitHub Desktop.
Docker Compose for One Node Confluent Platform Environment
version: '2'
services:
zookeeper:
image: confluentinc/cp-zookeeper:4.0.0
network_mode: host
environment:
ZOOKEEPER_CLIENT_PORT: 32181
ZOOKEEPER_TICK_TIME: 2000
volumes:
- /vol1/zk-data:/var/lib/zookeeper/data
- /vol2/zk-txn-logs:/var/lib/zookeeper/log
kafka:
image: confluentinc/cp-enterprise-kafka:4.0.0
depends_on:
- zookeeper
network_mode: host
environment:
KAFKA_kafka_ID: 1
KAFKA_ZOOKEEPER_CONNECT: 'localhost:32181'
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://localhost:29092'
KAFKA_METRIC_REPORTERS: io.confluent.metrics.reporter.ConfluentMetricsReporter
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_LOG_RETENTION_HOURS: 168 # 7 days
CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS: localhost:29092
CONFLUENT_METRICS_REPORTER_ZOOKEEPER_CONNECT: localhost:32181
CONFLUENT_METRICS_REPORTER_TOPIC_REPLICAS: 1
CONFLUENT_METRICS_ENABLE: 'true'
CONFLUENT_SUPPORT_CUSTOMER_ID: 'anonymous'
KAFKA_DELETE_TOPIC_ENABLE: "true" # you probably don't want this set to true in production
volumes:
- /vol3/kafka-data:/var/lib/kafka/data
schema-registry:
image: confluentinc/cp-schema-registry:4.0.0
depends_on:
- zookeeper
- kafka
network_mode: host
ports:
- "8081:8081"
environment:
SCHEMA_REGISTRY_HOST_NAME: localhost
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'localhost:32181'
connect:
image: confluentinc/cp-kafka-connect:4.0.0
depends_on:
- zookeeper
- kafka
- schema-registry
network_mode: host
environment:
CONNECT_BOOTSTRAP_SERVERS: 'localhost:29092'
CONNECT_REST_ADVERTISED_HOST_NAME: localhost
CONNECT_REST_PORT: 28082
CONNECT_GROUP_ID: compose-connect-group
CONNECT_CONFIG_STORAGE_TOPIC: docker-connect-configs
CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1
CONNECT_OFFSET_FLUSH_INTERVAL_MS: 10000
CONNECT_OFFSET_STORAGE_TOPIC: docker-connect-offsets
CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1
CONNECT_STATUS_STORAGE_TOPIC: docker-connect-status
CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1
CONNECT_KEY_CONVERTER: io.confluent.connect.avro.AvroConverter
CONNECT_VALUE_CONVERTER: io.confluent.connect.avro.AvroConverter
CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: 'http://localhost:8081'
CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: 'http://localhost:8081'
CONNECT_INTERNAL_KEY_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_INTERNAL_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_ZOOKEEPER_CONNECT: 'localhost:32181'
CONNECT_PRODUCER_INTERCEPTOR_CLASSES: io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor
CONNECT_CONSUMER_INTERCEPTOR_CLASSES: io.confluent.monitoring.clients.interceptor.MonitoringConsumerInterceptor
CONNECT_PLUGIN_PATH: /usr/share/java,/etc/kafka-connect/jars
CONNECT_LOG4J_ROOT_LOGLEVEL: INFO
CONNECT_LOG4J_LOGGERS: org.reflections=ERROR
AWS_ACCESS_KEY_ID: XXX
AWS_SECRET_ACCESS_KEY: XXX
KAFKA_HEAP_OPTS: "-Xms1g -Xmx5g"
volumes:
- /vol42/kafka-connect/jars:/etc/kafka-connect/jars
control-center:
image: confluentinc/cp-enterprise-control-center:4.0.0
depends_on:
- zookeeper
- kafka
- schema-registry
- connect
network_mode: host
ports:
- "9021:9021"
ulimits:
nofile:
soft: 16384
hard: 16384
environment:
CONTROL_CENTER_BOOTSTRAP_SERVERS: 'localhost:29092'
CONTROL_CENTER_ZOOKEEPER_CONNECT: 'localhost:32181'
CONTROL_CENTER_CONNECT_CLUSTER: 'http://localhost:28082'
CONTROL_CENTER_REPLICATION_FACTOR: 1
CONTROL_CENTER_INTERNAL_TOPICS_PARTITIONS: 1
CONTROL_CENTER_MONITORING_INTERCEPTOR_TOPIC_PARTITIONS: 1
CONFLUENT_METRICS_TOPIC_REPLICATION: 1
CONTROL_CENTER_STREAMS_NUM_STREAM_THREADS: 2
CONTROL_CENTER_MAIL_ENABLED: 'true'
CONTROL_CENTER_MAIL_PORT: 25
volumes:
- /volcc1/control-center/data:/var/lib/confluent-control-center
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment