Docker部署Kafka 2.8.1(保姆级图文教程)

系列文章目录
Docker部署Nginx 1.21.5(保姆级图文教程)
Docker部署MySQL 8.3.0(保姆级图文教程)
Docker部署ETCD 3.5.14(保姆级图文教程)
Docker部署Kafka 3.5.14(保姆级图文教程)



一、环境

名称备注
操作命令对象Docker 版本26.1.3
远程操作系统CentOS 7.9 64位
远程管理工具FinalShell 版本4.3.11
安装软件名称zookeeper 版本3.4.13
安装软件名称Kafka 版本2.8.1

二、安装并启动zookeeper

在安装kafka之前需要先安装zookeeper,因为kafka 启动会将元数据保存在 zookeeper 中,zookeeper是一种分布式协调服务,可以在分布式系统中共享配置协调锁资源提供命名服务

如果已经安装了zookeeper,直接跳过此步骤

2.1 查找 Docker Hub 上的 zookeeper 镜像

docker search wurstmeister/zookeeper

2.2 拉取zookeeper镜像

没写tag默认安装最新版本

docker pull wurstmeister/zookeeper

2.3 启动zookeeper镜像

docker run --restart=always \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2  \
--name zookeeper -p 2181:2181 \
-v /etc/localtime:/etc/localtime \
-d wurstmeister/zookeeper
命令注释
–restart=always表示容器退出时总是重启
–log-driver json-file表示使用 JSON 文件作为日志驱动
–log-opt max-size=100m表示设置日志的最大大小为100MB
–log-opt max-file=2表示设置日志文件的最大数量
–name表示容器命名
-p表示端口映射
-v /etc/localtime:/etc/localtime表示将本地时间映射到容器中
-d表示后台运行

2.4 查看zookeeper容器是否运行

三、安装并启动Kafka

3.1 查找 Docker Hub 上的 Kafka 镜像

docker search wurstmeister/kafka

3.2 拉取Kafka镜像

没写tag默认安装最新版本

docker pull wurstmeister/kafka

3.3 创建挂载目录

mkdir -p /home/kafka/{data,config}

3.4 启动Kafka镜像

docker run --privileged=true \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2 \
--name kafka -p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=IP:2181/kafka \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://IP:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e KAFKA_HEAP_OPTS='-Xms512M -Xmx4G' \
-v /home/kafka/data:/wurstmeister/kafka/data \
-v /home/kafka/config:/wurstmeister/kafka/config \
-v /etc/localtime:/etc/localtime \
-d wurstmeister/kafka
命令注释
–privileged=true表示容器内的root拥有真正的root权限
–log-driver json-file表示使用 JSON 文件作为日志驱动
–log-opt max-size=100m表示设置日志的最大大小为100MB
–log-opt max-file=2表示设置日志文件的最大数量
–name表示容器命名
-p表示端口映射
-e KAFKA_BROKER_ID=0表示这个ID是集群的标识,不能重复
-e KAFKA_ZOOKEEPER_CONNECT=IP:2181/kafka表示zookeeper的连接地址
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://IP:9092表示kafka发布到zookeeper供客户端使用的服务地址
-e ALLOW_PLAINTEXT_LISTENER=yes表示允许使用PLAINTEXT侦听器
-e KAFKA_HEAP_OPTS='-Xms512M -Xmx4G表示行内存参数
-v /home/kafka/data:/wurstmeister/kafka/data表示挂载配置数据目录
-v /home/kafka/config:/wurstmeister/kafka/config表示配置文件目录
-v /etc/localtime:/etc/localtime表示将本地时间映射到容器中
-d表示后台运行

配置目录,数据目录挂载我还没试过,谨慎使用!
配置目录,数据目录挂载我还没试过,谨慎使用!
配置目录,数据目录挂载我还没试过,谨慎使用!

3.5 查看Kafka容器是否运行

四、测试

4.1 通过exec命令进入容器内部

i :即使没有附加也保持STDIN 打开
t :分配一个伪终端

 docker exec -it kafka /bin/bash

4.2 进入Kafka的bin目录下

cd /opt/kafka_2.13-2.8.1/bin

4.2 创建主题,显示主题

./kafka-topics.sh --create --topic test-kafka --bootstrap-server localhost:9092
kafka-topics.sh --describe --topic test-kafka --bootstrap-server localhost:9092

五、更多

Kafaka基础入门


测试成功
完成ヾ(◍°∇°◍)ノ゙

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值