1. 首页
  2. 技术知识

docker部署kafka的方法步骤

目录

    1. 搭建docker 2.进入容器 3.修改配置文件 4.测试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的部署是可以省略的。

然X入kafka的根目录

$ cd /opt/kafka

3.修改配置文件

$ cd /config

首先要修改的是zookeeper的配置文件:zookeeper.properties

(注释已删除)

dataDir=/opt/kafka/zooLogs

clientPort=2182

maxClientCnxns=0

admin.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的方法步骤的文章就介绍到这了,更多相关docker部署kafka内容请搜索共生网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持共生网络!

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/105262.html

联系我们