to be
a problem slover

kafka bash script

Note: This pic and script is not the exactly match in terms of ports and cluster numbers

Start kafka

Start 2 kafka clusters and an web-ui ./script.sh

The web UI can be visit at http://<host>:8080

#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail

VERSION=7.1.1
ZK_BASE_DIR=/data/zookeeper
KAFKA_BASE_DIR=/data/kafka
ZK0_DATA=${ZK_BASE_DIR}/zk0/data
ZK0_LOG=${ZK_BASE_DIR}/zk0/log
ZK1_DATA=${ZK_BASE_DIR}/zk1/data
ZK1_LOG=${ZK_BASE_DIR}/zk1/log
KAFKA0_DATA=${KAFKA_BASE_DIR}/kafka0/data
KAFKA1_DATA=${KAFKA_BASE_DIR}/kafka1/data
HOST_PUBLIC_IP={ip-address-which-your-client-can-connect-with}

if [ $# -ge 1 ] && [ $1 = "clean" ]
then
    sudo docker rm -f kafka0 kafka1 zookeeper1 zookeeper0 kafka-ui
    sudo rm -rf $ZK_BASE_DIR
    sudo rm -rf $KAFKA_BASE_DIR
    exit 0
fi

mkdir -p $ZK_BASE_DIR
mkdir -p $KAFKA_BASE_DIR

cat > /tmp/docker-compose.yml <<EOF
---
version: "3"
services:
  zookeeper0:
    image: confluentinc/cp-zookeeper:${VERSION}
    container_name: zookeeper0
    user: root
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
    volumes:
      - ${ZK0_DATA}:/var/lib/zookeeper/data
      - ${ZK0_LOG}:/var/lib/zookeeper/log
  zookeeper1:
    image: confluentinc/cp-zookeeper:${VERSION}
    container_name: zookeeper1
    user: root
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
    volumes:
      - ${ZK1_DATA}:/var/lib/zookeeper/data
      - ${ZK1_LOG}:/var/lib/zookeeper/log
  kafka0:
    image: confluentinc/cp-kafka:${VERSION}
    container_name: kafka0
    user: root
    depends_on:
      - zookeeper0
      - zookeeper1
    ports:
      - 9092:9092
    environment:
      KAFKA_BROKER_ID: 0
      KAFKA_ZOOKEEPER_CONNECT: zookeeper0:2181,zookeeper1:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://${HOST_PUBLIC_IP}:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    volumes:
      - ${KAFKA0_DATA}:/var/lib/kafka/data
  kafka1:
    image: confluentinc/cp-kafka:${VERSION}
    container_name: kafka1
    user: root
    depends_on:
      - zookeeper0
      - zookeeper1
    ports:
      - 9093:9093
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper0:2181,zookeeper1:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka1:29093,PLAINTEXT_HOST://${HOST_PUBLIC_IP}:9093
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    volumes:
      - ${KAFKA1_DATA}:/var/lib/kafka/data
  kafka-ui:
    image: provectuslabs/kafka-ui:v0.4.0
    container_name: kafka-ui
    ports:
      - "8080:8080"
    depends_on:
      - kafka0,kafka1
    environment:
      KAFKA_CLUSTERS_0_NAME: c1
      KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092
      KAFKA_CLUSTERS_1_NAME: c2
      KAFKA_CLUSTERS_1_BOOTSTRAPSERVERS: kafka1:29093
EOF

if [ $# -ge 1 ] && [ $1 = "dockerfile" ]
then
    echo "docker file generated: /tmp/docker-compose.yml"
    exit 0
fi

sudo docker-compose -f /tmp/docker-compose.yml up -d
rm /tmp/docker-compose.yml

Generate dockerfile only

./script.sh dockerfile

Clean up

./script.sh clean
赞(5) 打赏
欢迎转载,注明出处:刘世明的博客 » kafka bash script

评论 12

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    Your article helped me a lot, is there any more related content? Thanks!

  2. #2

    Когда человек или его родственники понимают, что нужен нарколог на дом в Екатеринбурге, время становится решающим фактором. Запой, ломка, тяжёлая интоксикация — в таких ситуациях промедление может привести к необратимым последствиям для здоровья и жизни. Наша клиника создана именно для того, чтобы оказывать эффективную круглосуточную помощь в самых сложных случаях. Мы не заставляем ждать в очередях государственных учреждений, не ставим на учёт и не разглашаем информацию. Всё происходит анонимно, в домашних условиях или в комфортных условиях нашей партнёрской клиники. Пациенты из Екатеринбурга, Свердловской области, а также соседних регионов уже более 12 лет выбирают «НЕО+» благодаря сочетанию скорости, профессионализма, полной анонимности и доказанной результативности. Алкогольной зависимости и проблем с наркотиками подвержены как алкоголиков, так и наркозависимых, и мы помогаем всем.
    Исследовать вопрос подробнее – [url=https://narkolog-na-dom-ekaterinburg-1.ru/]вызвать нарколога на дом екатеринбург[/url]

    Stevenfes1周前 (05-06)回复
  3. #3

    К основным показаниям относятся:
    Изучить вопрос глубже – [url=https://vyvod-iz-zapoya-na-domu-sankt-peterburg-8.ru/]вывод из запоя на дому круглосуточно санкт-петербург[/url]

    CharlesJah1周前 (05-06)回复
  4. #4

    Такие состояния требуют медицинского вмешательства, поскольку могут ухудшаться без лечения. Капельница позволяет стабилизировать состояние и снизить нагрузку на организм. Услуги могут предоставляться анонимно, а при тяжёлых случаях рассматривается лечение в стационаре.
    Подробнее можно узнать тут – [url=https://kapelnicza-ot-pokhmelya-voronezh-4.ru/]капельница от похмелья цена в воронеже[/url]

    JorgePup1周前 (05-06)回复
  5. #5

    Затяжной запой перестает быть бытовой проблемой в тот момент, когда организм теряет способность самостоятельно восстанавливаться после интоксикации. Накопление ацетальдегида, нарушение водно-электролитного баланса, истощение запасов витаминов и перегрузка сердечно-сосудистой системы создают состояние, при котором домашние методы перестают быть безопасными. Срочно стабилизировать самочувствие и быстро купировать абстинентный синдром позволяет только контролируемая медицинская среда. Вывод из запоя в стационаре в Нижнем Новгороде становится клинически обоснованным решением, когда требуется не просто снятие симптомов, а комплексная детоксикация под круглосуточным наблюдением врачей. Наркологическая клиника «Стармед» организует процесс лечения в соответствии с актуальными стандартами доказательной медицины, обеспечивая безопасность пациента, прозрачность процедур и плавный переход к противорецидивной терапии. Мы понимаем, что решение о госпитализации часто принимается в состоянии стресса, поэтому наша работа начинается с четкой диагностики, честного объяснения плана лечения и соблюдения строгих протоколов конфиденциальности. Опытные специалисты клиники помогут вызвать доверие к процессу восстановления уже на этапе первого контакта.
    Получить больше информации – [url=https://vyvod-iz-zapoya-v-staczionare-nizhnij-novgorod-6.ru/]быстрый вывод из запоя в стационаре в нижнем новгороде[/url]

    Andrewter1周前 (05-06)回复
  6. #6

    Такие условия позволяют начать лечение без задержек и обеспечить более мягкое восстановление. При этом помощь может предоставляться анонимно.
    Углубиться в тему – https://vyvod-iz-zapoya-na-domu-sankt-peterburg-11.ru/

    Alvinvef1周前 (05-06)回复
  7. #7

    После алкоголя в организме накапливаются токсичные продукты распада, нарушается водно-солевой баланс и страдает нервная система, что особенно выражено после запоя или при алкоголизме. Это проявляется головной болью, слабостью, тошнотой и нарушением сна. Капельница помогает ускорить процессы очищения и восстановить внутренние системы, обеспечивая более быстрое облегчение состояния и помогая человеку выйти из состояния запоев.
    Подробнее тут – https://kapelnicza-ot-pokhmelya-voronezh-8.ru/

    Thomascheme1周前 (05-06)回复
  8. #8

    Непрерывный мониторинг витальных показателей позволяет фиксировать малейшие изменения в состоянии пациента и своевременно вносить коррективы в терапевтический план. В палатах клиники «Элегия Мед» установлены системы отслеживания частоты пульса, сатурации, температуры и артериального давления, данные с которых автоматически передаются в медицинскую карту. Медсестры и дежурные врачи проверяют состояние пациента по графику, проводят симптоматическую терапию, контролируют прием препаратов и обеспечивают комфортные условия для восстановления. Такая организация процесса исключает хаотичное назначение средств, предотвращает полипрагмазию и гарантирует, что каждый этап детоксикации проходит под строгим клиническим контролем. При необходимости применяются дополнительные методы очищения крови, включая плазмаферез, который эффективно помогает вывести стойкие токсины и метаболиты, не удаляемые стандартной инфузионной терапией.
    Подробнее тут – [url=https://vyvod-iz-zapoya-v-staczionare-sankt-peterburg-16.ru/]стационар вывод из запоя в санкт-петербурге[/url]

    Robertrit1周前 (05-06)回复
  9. #9

    Вывод из запоя на дому с детоксикацией в Екатеринбурге представляет собой сложную медицинскую процедуру, направленную на очищение организма от токсинов и восстановление нормального состояния пациента. Важной частью этого процесса является контроль врача, который следит за состоянием пациента, регулирует дозировку препаратов и корректирует лечение по мере необходимости. Процедура обычно включает в себя использование инфузионных растворов, витаминов и медикаментов, направленных на стабилизацию физического состояния пациента и облегчение симптомов абстиненции.
    Детальнее – [url=https://vyvod-iz-zapoya-na-domu-ekaterinburg-20.ru/]вывод из запоя на дому анонимно[/url]

    ThomasCef1周前 (05-06)回复
  10. #10

    Если симптомы похмелья становятся настолько выраженными, что мешают нормальному функционированию, капельница становится необходимостью. Это особенно важно, если организм не справляется с токсинами самостоятельно.
    Исследовать вопрос подробнее – [url=https://kapelnicza-ot-pokhmelya-nizhnij-novgorod-2.ru/]капельница от похмелья[/url]

    CarlosUrges1周前 (05-06)回复
  11. #11

    Основой стационарной детоксикации является инфузионная терапия, направленная на ускоренное выведение токсинов, коррекцию водно-электролитного баланса и восстановление метаболических процессов. Стандартная капельница включает кристаллоидные растворы для восполнения объема циркулирующей крови, витамины группы B и C для активации ферментных систем, гепатопротекторы для защиты печени и симптоматические препараты для нормализации сна. Состав, объем и скорость введения рассчитываются индивидуально с учетом возраста, массы тела, длительности интоксикации и функции почек. При выраженной абстиненции подключаются средства для коррекции нейромедиаторного обмена, однако их применение строго дозируется для исключения риска вторичной зависимости. Дозировки пересматриваются ежедневно на основе динамики показателей, что обеспечивает безопасность и высокую клиническую эффективность.
    Выяснить больше – [url=https://vyvod-iz-zapoya-v-staczionare-sankt-peterburg-17.ru/]нарколог вывод из запоя в стационаре санкт-петербург[/url]

    Raymondtrups1周前 (05-06)回复
  12. #12

    Первоначально врач оценивает физическое и психоэмоциональное состояние пациента, что позволяет определить степень тяжести запоя и риски, с которыми может столкнуться пациент в процессе восстановления. На основе этой оценки подбирается соответствующая терапия, включая капельницы для очистки организма, введение витаминов и препаратов, способствующих нормализации давления и уровня сахара в крови.
    Разобраться лучше – [url=https://vyvod-iz-zapoya-na-domu-ekaterinburg-16.ru/]вывод из запоя на дому анонимно екатеринбург[/url]

    Aaronemuff1周前 (05-06)回复

觉得文章有用就打赏一下作者

支付宝扫一扫打赏

微信扫一扫打赏