Commit 72f7b7ea authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Unifica 3 servicios en 1 con 3 replicas

parent 89cbd5f5
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
ZK_PORT=2181
JMX_PORT=9999
KAFKA_JMX_PORT=9999
JMX_HTTP_PORT=9998
LOG_LEVEL=ERROR
ZOOKEEPER_TICK_TIME=2000
ZOOKEEPER_INIT_LIMIT=5
ZOOKEEPER_SYNC_LIMIT=2
ZOOKEEPER_AUTOPURGE_SNAP_RETAIN_COUNT=3
ZOOKEEPER_AUTOPURGE_PURGE_INTERVAL=24
ZOOKEEPER_SERVERS=zk-1:2888:3888;zk-2:2888:3888;zk-3:2888:3888
+21 −0
Original line number Diff line number Diff line
version: '3.5'

services:
  zookeeper-1:
  zookeeper:
    environment:
      - KAFKA_HEAP_OPTS=-Xmx128m -Xms128m
      KAFKA_HEAP_OPTS: -Xmx128m -Xms128m
    deploy:
      mode: replicated
      replicas: 1
      restart_policy:
        delay: 30s
        window: 2m
      resources:
        limits:
          cpus: '0.5'
          memory: 256M
        reservations:
          cpus: '0.001'
          memory: 205M

volumes:
  zk-data-vol:
    name: ${ZK_DATA_VOL_NAME:-zk-1-data-vol}
    name: ${ZK_DATA_VOL_NAME:-zk-{{.Task.Slot}}-data-vol}

  zk-log-vol:
    name: ${ZK_LOG_VOL_NAME:-zk-1-log-vol}
    name: ${ZK_LOG_VOL_NAME:-zk-{{.Task.Slot}}-log-vol}
+6 −11
Original line number Diff line number Diff line
version: '3.5'

services:
  zookeeper-3:
  zookeeper:
    environment:
      - KAFKA_HEAP_OPTS=-Xmx256m -Xms256m
      KAFKA_HEAP_OPTS: -Xmx256m -Xms256m
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints:
          - node.role == worker
          - engine.labels.availability_zone == ${AWS_REGION}c
      restart_policy:
        delay: 30s
        window: 2m
      resources:
        limits:
          cpus: '0.5'
          memory: 512M
        reservations:
          cpus: '0.001'
          memory: 410M

x-prod-default-volume:
  &prod-default-volume
  driver: "cloudstor:aws"
  driver: 'cloudstor:aws'
  driver_opts:
    backing: relocatable
    size: 1
@@ -32,8 +27,8 @@ x-prod-default-volume:
volumes:
  zk-data-vol:
    << : *prod-default-volume
    name: ${ZK_DATA_VOL_NAME:-zk-3-data-vol}
    name: ${ZK_DATA_VOL_NAME:-zk-{{.Task.Slot}}-data-vol}

  zk-log-vol:
    << : *prod-default-volume
    name: ${ZK_LOG_VOL_NAME:-zk-3-log-vol}
    name: ${ZK_LOG_VOL_NAME:-zk-{{.Task.Slot}}-log-vol}
+29 −21
Original line number Diff line number Diff line
version: '3.5'

services:
  zookeeper-3:
    image: confluentinc/cp-zookeeper:${IMAGE_TAG:-latest}
    hostname: zk-3
  zookeeper:
    image: ${IMAGE_NAME:-confluentinc/cp-zookeeper}:${IMAGE_TAG:-latest}
    hostname: zk-{{.Task.Slot}}
    environment:
      - ZOOKEEPER_SERVER_ID=3
      - ZOOKEEPER_CLIENT_PORT=${ZK_PORT}
      - KAFKA_JMX_PORT=${JMX_PORT}
      - ZOOKEEPER_TICK_TIME=2000
      - ZOOKEEPER_INIT_LIMIT=5
      - ZOOKEEPER_SYNC_LIMIT=2
      - ZOOKEEPER_AUTOPURGE_SNAP_RETAIN_COUNT=3
      - ZOOKEEPER_AUTOPURGE_PURGE_INTERVAL=24
      - ZOOKEEPER_SERVERS=zk-1:2888:3888;zk-2:2888:3888;zk-3:2888:3888
      - KAFKA_JMX_HOSTNAME=zk-3
      - ZOOKEEPER_LOG4J_ROOT_LOGLEVEL=${LOG_LEVEL}
      - KAFKA_OPTS=-javaagent:/jmx_prometheus_javaagent.jar=${JMX_HTTP_PORT}:/config.yaml
      ZOOKEEPER_SERVER_ID: {{.Task.Slot}}
      ZOOKEEPER_CLIENT_PORT: ${ZK_PORT}
      KAFKA_JMX_PORT:
      ZOOKEEPER_TICK_TIME:
      ZOOKEEPER_INIT_LIMIT:
      ZOOKEEPER_SYNC_LIMIT:
      ZOOKEEPER_AUTOPURGE_SNAP_RETAIN_COUNT:
      ZOOKEEPER_AUTOPURGE_PURGE_INTERVAL:
      ZOOKEEPER_SERVERS:
      KAFKA_JMX_HOSTNAME: zk-{{.Task.Slot}}
      ZOOKEEPER_LOG4J_ROOT_LOGLEVEL: ${LOG_LEVEL}
      KAFKA_OPTS: -javaagent:/jmx_prometheus_javaagent.jar=${JMX_HTTP_PORT}:/config.yaml
    networks:
      kafka-net:
        aliases:
          - zk-3
      metric-net:
    configs:
      - source: jmx-prometheus-javaagent
@@ -33,10 +31,20 @@ services:
      - zk-secrets-vol:/etc/zookeeper/secrets
    healthcheck:
      test: echo ruok | nc localhost ${ZK_PORT}
      interval: 30s
      timeout: 5s
      retries: 3
      interval: 1m
      timeout: 30s
      retries: 20
      start_period: 2m
    deploy:
      mode: replicated
      replicas: 3
      restart_policy:
        delay: 30s
        window: 2m
      update_config:
        parallelism: 1
        delay: 30s
        order: stop-first

networks:
  kafka-net:
@@ -50,7 +58,7 @@ networks:

volumes:
  zk-secrets-vol:
    name: ${ZK_SECRETS_VOL_NAME:-zk-3-secrets-vol}
    name: ${ZK_SECRETS_VOL_NAME:-zk-{{.Task.Slot}}-secrets-vol}

configs:
  jmx-prometheus-javaagent:
+0 −39
Original line number Diff line number Diff line
version: '3.5'

services:
  zookeeper-1:
    environment:
      - KAFKA_HEAP_OPTS=-Xmx256m -Xms256m
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints:
          - node.role == worker
          - engine.labels.availability_zone == ${AWS_REGION}a
      restart_policy:
        delay: 30s
        window: 2m
      resources:
        limits:
          cpus: '0.5'
          memory: 512M
        reservations:
          memory: 410M

x-prod-default-volume:
  &prod-default-volume
  driver: "cloudstor:aws"
  driver_opts:
    backing: relocatable
    size: 1
    ebstype: gp2

volumes:
  zk-data-vol:
    << : *prod-default-volume
    name: ${ZK_DATA_VOL_NAME:-zk-1-data-vol}

  zk-log-vol:
    << : *prod-default-volume
    name: ${ZK_LOG_VOL_NAME:-zk-1-log-vol}
Loading