千家信息网

docker怎么部署kafka

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,小编给大家分享一下docker怎么部署kafka,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 搭建docker这里我
千家信息网最后更新 2025年01月18日docker怎么部署kafka

小编给大家分享一下docker怎么部署kafka,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1. 搭建docker

这里我直接用的是docker-compose部署,所以需要提前安装好compose。
既然要用compose那么yml文件自然是少不了的。

首先要新建一个目录,并在目录中新建一个yml文件

文件的内容如下:

version: '2'services:  zookeeper:    image: wurstmeister/zookeeper    volumes:      - ./data:/data    ports:      - "2181:2181"         kafka:    image: wurstmeister/kafka    ports:      - "9092:9092"    environment:      KAFKA_ADVERTISED_HOST_NAME:127.0.0.1      KAFKA_MESSAGE_MAX_BYTES: 2000000      KAFKA_CREATE_TOPICS: "Topic1:1:3,Topic2:1:1:compact"      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181    volumes:      - ./kafka-logs:/kafka      - /var/run/docker.sock:/var/run/docker.sock   kafka-manager:    image: sheepkiller/kafka-manager    ports:      - 9020:9000    environment:      ZK_HOSTS: zookeeper:2181

接着利用这个yml文件启动我们的项目

$ docker-compose up -d

可以看到新建了三个容器

2.进入容器

我们通过以下命令进入到kafka容器的交互模式

$ docker exec -it kafkademo01_kafka_1 /bin/bash

因为高版本的kafka内置了zookeeper,所以我们无需进入zookeeper容器。所以yml文件中关于zookeeper的部署是可以省略的。

然后进入kafka的根目录

$ cd /opt/kafka

3.修改配置文件

$ cd /config

首先要修改的是zookeeper的配置文件:zookeeper.properties
(注释已删除)

dataDir=/opt/kafka/zooLogsclientPort=2182maxClientCnxns=0admin.enableServer=false

然后修改kafka的配置文件:server.porperties
(注释已删除)

############################# Server Basics #############################                                                                                                                                                                                                                                                                                                             broker.id=0                                                                                                                                        ############################# Socket Server Settings #############################                                                                                                                                                                                                                                                                                              listeners=PLAINTEXT://127.0.0.1:9093############################# Socket Server Settings #############################                                                                      listeners=PLAINTEXT://127.0.0.1:9093                                                                                                                    num.network.threads=3                                                                                                                                   num.io.threads=8                                                                                                                                        socket.send.buffer.bytes=102400                                                                                                                         socket.receive.buffer.bytes=102400                                                          socket.request.max.bytes=104857600                                                                                                                      ############################# Log Basics #############################                                                                                  log.dirs=/opt/kafka/kafkaLogs                                                                                                                           num.partitions=1                                                                                                                                        num.recovery.threads.per.data.dir=1                                                                                                                     ############################# Internal Topic Settings  #############################                                                                                                   offsets.topic.replication.factor=1                                                                                                                       transaction.state.log.replication.factor=1                                                                                                               transaction.state.log.min.isr=1                                                                                                                         ############################# Log Retention Policy #############################                                                                        log.retention.hours=168                                                                                                                                                                                                                                               log.segment.bytes=1073741824                                                                                                                            log.retention.check.interval.ms=300000                                                                                                                  ############################# Zookeeper #############################                                                                                   zookeeper.connect=127.0.0.1:2182                                                                                                       zookeeper.connection.timeout.ms=18000                                                                                                                   ############################# Group Coordinator Settings #############################                                                                  group.initial.rebalance.delay.ms=0                                                                                                                      port=9093                                                                                                                                                advertised.host.name=127.0.0.1                                                                                                                           message.max.bytes=2000000                                                                                                                                advertised.port=9093

4.测试kafka

以下是一些基本的命令

启动zookeeper

zookeeper-server-start.sh ../config/zookeeper.properties

启动kafka

kafka-server-start.sh ../config/server.properties

创建一个主题

kafka-topics.sh --create --zookeeper 127.0.0.1:2182 --replication-factor 1 --partitions 1 --topic test

查看创建的主题

kafka-topics.sh --list --zookeeper 127.0.0.1:2182

生产者

kafka-console-producer.sh --broker-list 127.0.0.1:9093 --topic test

消费者

kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9093 --topic test --from-beginning

以上是"docker怎么部署kafka"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0