首页 > 其他分享 >Docker + supervisor在同一容器中部署zookeeper和kafka

Docker + supervisor在同一容器中部署zookeeper和kafka

时间:2023-11-29 10:36:49浏览次数:36  
标签:supervisor log zookeeper kafka conf logs

使用supervisor进程管理工具,在同一个容器中部署zookeeper和kafka
目录

Dockerfile
jdk1.8.0_181.tar.gz
kafka_2.12-1.1.0.tgz
conf.d
docker-compose.yml
kafka_conf.d

conf.d 中为supervisor配置文件
kafka_conf.d 中为kafka配置文件,解压kafka_2.12-1.1.0.tgz中的配置文件,拷贝到kafka_conf.d目录中对server.properties,zookeeper.properties 进行修改即可;

Dockerfile

FROM debian:latest
RUN apt-get update && apt-get install -y supervisor

ADD jdk1.8.0_181.tar.gz /opt
ADD kafka_2.12-1.1.0.tgz /

ENV JAVA_HOME /opt/jdk1.8.0_181
ENV PATH $PATH:$JAVA_HOME/bin

CMD ["supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]

EXPOSE 2182
EXPOSE 9092

docker-compose.yml

version: "3"
services:
  kafka:
    image: cnxue/kafka:2_12
    container_name: kafka
    hostname: kafka
    restart: always
    volumes:
      - ./kafka_conf.d:/kafka_2.12-1.1.0/config
      - ./conf.d:/etc/supervisor/conf.d
      - ./kafka_logs:/tmp/kafka-logs
      - ./zookeeper_logs:/tmp/zookeeper
      - ./supervisor_logs:/tmp/supervisor_logs
    ports:
      - 19092:9092
      - 12181:2181

supervisord.conf

[supervisord]
nodaemon=true
logfile=/tmp/supervisor_logs/supervisord.log
logfile_maxbytes=50MB      
logfile_backups=10         
loglevel=info            
pidfile=/var/run/supervisord.pid
minfds=1024
minprocs=200 

[program:zookeeper]
command=/kafka_2.12-1.1.0/bin/zookeeper-server-start.sh  /kafka_2.12-1.1.0/config/zookeeper.properties 
autostart = true
autorestart = true
logfile=/tmp/supervisor_logs/zoo.log

[program:kafka]
command=/kafka_2.12-1.1.0/bin/kafka-server-start.sh  /kafka_2.12-1.1.0/config/server.properties 
autostart = true
autorestart = true
logfile=/tmp/supervisor_logs/kafka.log
depends_on=zookeeper

server.properties

broker.id=0
listeners=PLAINTEXT://kafka:9092
advertised.listeners=PLAINTEXT://192.168.1.28:19092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/tmp/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0

zookeeper.properties

dataDir=/tmp/zookeeper
maxClientCnxns=0

标签:supervisor,log,zookeeper,kafka,conf,logs
From: https://www.cnblogs.com/cnxue/p/17863947.html

相关文章

  • kafka中如何创建topic?
    通过如下的命令创建topickafka-topics.sh\--bootstrap-server<Kafka集群地址>\--create\--topic<Topic名称>\--partitions<分区数>\--replication-factor<副本因子>  示例bin/kafka-topics.sh\--bootstrap-server122.12......
  • 手动部署Kraft模式Kafka集群
    手动部署Kraft模式kafka集群基本信息IP地址HostnameReleaseKafka-Version172.29.145.157iamdemo1Centos7.9kafka_2.12-3.5.1172.29.145.182iamdemo2Centos7.9kafka_2.12-3.5.1172.29.145.183iamdemo3Centos7.9kafka_2.12-3.5.1下载安装包kafka安......
  • 什么是kafka中topic、分区、副本、偏移量、消息保留策略
    Kafka是一个开源的分布式流式数据平台,也成为分布式消息队列。用于高吞吐量、低延迟的数据发布和订阅。 1、什么是topic(主题)? 在Kafka中,Topic(主题)是数据发布和订阅的基本单位,它代表了相同类型的消息流。 一个Topic可以看作是一个逻辑上的数据流管道,消息的生产者(Prod......
  • Kafka 如何保证消息消费的全局顺序性
    哈喽大家好,我是咸鱼今天我们继续来讲一讲Kafka当有消息被生产出来的时候,如果没有指定分区或者指定key,那么消费会按照【轮询】的方式均匀地分配到所有可用分区中,但不一定按照分区顺序来分配我们知道,在Kafka中消费者可以订阅一个或多个主题,并被分配一个或多个分区如果一......
  • Kafka3.6.0 linux 安装,非zookeeper模式
    参考:安装Kafka3.3.1及kraft运行,告别zookeeper_kafka3.3.1jdk无需zookeeper,kafka3.0版本集群安装实战 操作系统:ubutun18.04LTS1.下载到kafka官网下载2.上传到服务器指定位置3.解压到指定目录,这里我放到/opt下tar-xzvfkafka_2.13-3.6.0.tgz-C/opt/4.修改配置:因为......
  • 性能测试复习准备——linux环境下安装kafka_2.13-3.2.3.tgz
    参考:https://www.bilibili.com/video/BV1Xy4y1G7zA?p=6&vd_source=79bbd5b76bfd74c2ef1501653cee29d6      解压到目录路径下:  启动kafka之前,首先启动zk:       修改配置文件:        启动kafka和查看:       ......
  • kafka入门(二): 位移提交
    位移提交:Kafka的每条消息都有唯一的offset,用来表示消息在分区中对应的位置。有的也称之为"偏移量"。消费者每次在poll()拉取消息,它要返回的是还没有消费过的消息集,因此,需要记录上一次消费时的消费位移,并且持久化。消费者在消费完消息之后,需要执行消费位移的提交。自动位......
  • Kafka生产和消费
    生产,私有topic:[root@gbxhfbin]#exportPATH=$PATH:/data/kafka_2.12-2.8.2/bin;cd/data/kafka_2.12-2.8.2/bin[root@gbxhfbin]#kafka-console-producer.sh--bootstrap-server192.168.1.200:8423,192.168.1.201:8423--topic"RDSP-IPCM-NOTICE"--producer.c......
  • Introducing the kafka producer
    IntroductionAswesawintheprevioussections,Ithinkwehavesomebasicinformationaboutthekafkaproducers,today,letmediginthisconcept. Kafkaproducersaregoingtowritedatatotopicsaremadeofpartitions,nowtheproducersinkafkawil......
  • Linux下利用Docker快速部署Kafka
    1.摘要Kafka是由Apache软件基金会开发一个开源流处理平台,使用Scala和Java编写,该项目的目标是为处理实时数据提供一个统一、高吞吐、低延迟的平台。其持久化层本质上是一个按照分布式事务日志架构的大规模发布/订阅消息队列。这种工作方式使它为企业级基础设施来处理流失数据非常......