docker部署kafka的方法步骤

docker部署kafka的方法步骤,第1张

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的部署是可以省略的。

然后进入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内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5698215.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存