基于Docker以KRaft模式快速部署Kafka

参考文献

https://kafka.apache.org/37/documentation.html#uses

https://spring.io/projects/spring-kafka#overview


获取Docker镜像

docker pull apache/kafka:3.7.1

创建一个目录来存储Kafka的配置文件

mkdir -p /home/user/kafka_config

启动Kafka容器

docker run -d \
   --name kira-kafka \
   -v /home/user/kafka_config:/opt/kafka/config \
   -p 9092:9092 \
   --user root \
   apache/kafka:3.7.1

cd /var/lib/docker/volumes/kafka_data/_data

创建Kafka的主题

进入Kafka容器

docker exec -u root -it kira-kafka bash

找到kafka-topics.sh:在容器中查找脚本路径

find / -name kafka-topics.sh

创建主题:根据实际的路径,运行命令

/opt/kafka/bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092

查看主题

/opt/kafka/bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092

然后用kafka-King可视化工具进行连接

进入容器内部改成正确的IP(如果内部IP不正确时)

docker exec -u root -it kira-kafka bash

编辑文件

vi /opt/kafka/config/server.properties

删除localhost

esc

:wq保存

删除这个

保留这一行,改成我们的虚拟机本机地址而不是localhost

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://192.168.88.130:9092

退出容器

重启kafka容器

检查本地挂载目录权限保证它可写

ls -ld /home/user/kafka_config

如果目录权限修改不正确,可以使用以下命令修改权限

sudo chown -R 1000:1000 /home/user/kafka_config
sudo chmod -R 755 /home/user/kafka_config

修改容器内权限

docker exec -u root -it kira-kafka bash
chmod -R 777 /opt/kafka/config

重启容器

docker restart kira-kafka

如何验证挂载

进入容器内部

docker exec -it kira-kafka bash

检查挂载目录

ls /opt/kafka/config
相关推荐
LUCIAZZZ30 分钟前
Hot100之双指针
java·数据结构·算法
特立独行的猫a37 分钟前
使用 Docker(Podman) 部署 MongoDB 数据库及使用详解
数据库·docker·podman
Kerwin要坚持日更1 小时前
一文讲解Java中的ArrayList和LinkedList
java·开发语言
慕雪华年1 小时前
【Linux】opencv在arm64上提示找不到libjasper-dev
linux·运维·opencv
Cosmoshhhyyy1 小时前
LeetCode:40. 组合总和 II(回溯 + 剪枝 Java)
java·leetcode·剪枝
_Eden_1 小时前
Keepalived高可用集群企业应用实例一
运维·服务器
精通HelloWorld!2 小时前
使用HttpClient和HttpRequest发送HTTP请求
java·spring boot·网络协议·spring·http
元气满满的热码式2 小时前
K8S部署DevOps自动化运维平台
运维·kubernetes·devops
大秦王多鱼3 小时前
Kafka SSL(TLS)安全协议
安全·kafka·ssl