docker部署kafka的方法步驟
1. 搭建docker
這里我直接用的是docker-compose部署,所以需要提前安裝好compose。
既然要用compose那么yml文件自然是少不了的。
首先要新建一個目錄,并在目錄中新建一個yml文件

文件的內(nèi)容如下:
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內(nèi)置了zookeeper,所以我們無需進入zookeeper容器。所以yml文件中關(guān)于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
創(chuàng)建一個主題
kafka-topics.sh --create --zookeeper 127.0.0.1:2182 --replication-factor 1 --partitions 1 --topic test
查看創(chuàng)建的主題
kafka-topics.sh --list --zookeeper 127.0.0.1:2182
生產(chǎn)者
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
到此這篇關(guān)于docker部署kafka的方法步驟的文章就介紹到這了,更多相關(guān)docker部署kafka內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker容器中Elasticsearch內(nèi)存不足問題的排查與解決方案
在使用Docker運行Elasticsearch(ES)時,可能會遇到內(nèi)存不足的問題,導(dǎo)致ES無法啟動,以下是一次完整的排查和解決過程,需要的朋友可以參考下2025-08-08
使用Docker?Compose搭建部署ElasticSearch的配置過程
Elasticsearch使用的是一種名為倒排索引的數(shù)據(jù)結(jié)構(gòu),這一結(jié)構(gòu)的設(shè)計可以允許十分快速地進行全文本搜索,本文重點給大家介紹使用Docker?Compose搭建部署ElasticSearch的配置過程,感興趣的朋友一起看看吧2022-02-02
詳解Docker創(chuàng)建Mysql容器并通過命令行連接到容器
本篇文章主要介紹了Docker創(chuàng)建Mysql容器并通過命令行連接到容器,具有一定的參考價值,有興趣的可以了解一下。2017-01-01
教你如何將應(yīng)用從docker-compose遷移到k8s中
這篇文章主要介紹了如何將應(yīng)用從docker-compose遷移到k8s中,本文給大家分享一個專門的遷移工具,可方便地通過docker-compose.yaml自動生成k8s的yaml部署文件,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07

