Docker服务器上部署最新版Kafka
创始人
2024-12-20 02:05:20
0

Docker服务器上部署最新版Kafka

博客地址:TMDOG666的博客

前提条件

在开始之前,请确保你已经安装了以下环境:

  1. Docker

创建目录

首先,我们需要创建一个目录来存储Kafka的相关数据:

mkdir -p /data/deploy/kafkaCluster/kraft 

创建docker-compose.yaml文件

在你自己的目录下创建一个名为docker-compose.yaml的文件,并添加以下内容:
我是在root目录下创建了kafka_config文件夹
请添加图片描述

在docker-compose.yaml下:

version: "3" services:    kafka:      image: 'bitnami/kafka:latest'      user: root      environment:        - KAFKA_ENABLE_KRAFT=yes        - KAFKA_CFG_PROCESS_ROLES=broker,controller        - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER        - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093        - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT        - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://ip:9092        - KAFKA_BROKER_ID=1        - KAFKA_CFG_NODE_ID=1        - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@localhost:9093        - ALLOW_PLAINTEXT_LISTENER=yes      volumes:        - /data/deploy/kafkaCluster/kraft:/bitnami/kafka:rw      ports:        - "9092:9092"        - "9093:9093" 

配置解释

  • version: "3":指定Docker Compose文件的版本。
  • services:定义服务,本例中为Kafka服务。
  • image: 'bitnami/kafka:latest':使用Bitnami提供的Kafka最新镜像。
  • user: root:以root用户运行容器。
  • environment:设置环境变量,配置Kafka。
    • KAFKA_ENABLE_KRAFT=yes:启用KRaft模式。
    • KAFKA_CFG_PROCESS_ROLES=broker,controller:设置Kafka的角色为broker和controller。
    • KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER:定义controller的监听器名称。
    • KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093:定义Kafka的监听地址。
    • KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT:映射安全协议。
    • KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://ip:9092:设置广告监听地址,请将ip替换为服务器的实际IP地址。
    • KAFKA_BROKER_ID=1:设置Broker ID。
    • KAFKA_CFG_NODE_ID=1:设置节点ID。
    • KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@localhost:9093:设置控制器选举的投票者。
    • ALLOW_PLAINTEXT_LISTENER=yes:允许PLAINTEXT监听。
  • volumes:挂载主机目录到容器内,持久化数据。
    • /data/deploy/kafkaCluster/kraft:/bitnami/kafka:rw:将主机的/data/deploy/kafkaCluster/kraft目录挂载到容器的/bitnami/kafka目录。
  • ports:暴露端口。
    • "9092:9092":将主机的9092端口映射到容器的9092端口。
    • "9093:9093":将主机的9093端口映射到容器的9093端口。

可以通过添加下面的配置指定Kafka 控制器集群中的仲裁投票者(Quorum Voters),目前配置是单机所以没有去配置

KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=brokerId@host:port,brokerId@host:port,... 

部署Kafka

在运行docker-compose的目录下,运行以下命令启动Kafka服务:

docker-compose up -d 

结果如下:
请添加图片描述

测试部署

确认Kafka服务是否已成功运行,可以使用以下命令检查容器状态:

docker ps 

结果如下:请添加图片描述

如果Kafka容器正在运行,你将看到bitnami/kafka:latest镜像的容器在列表中。

你还可以使用Kafka命令行工具或Kafka客户端测试Kafka服务,例如使用Kafka自带的生产者和消费者工具发送和接收消息。


这样,我们就完成了在Docker服务器上部署最新版Kafka的操作。

相关内容

热门资讯

we辅助poker德之星!智星... we辅助poker德之星!智星德州果真是真的有挂,德扑之星可以设置埋牌辅助挂;1、we辅助poker...
推荐几款新版!友乐麻将赢牌(辅... 推荐几款新版!友乐麻将赢牌(辅助挂)外挂透视辅助工具(2022已更新)(哔哩哔哩);1、这是跨平台的...
2分钟揭秘!朋朋棋牌怎么拿好牌... 2分钟揭秘!朋朋棋牌怎么拿好牌,家乡大贰安卓其实有挂辅助挂,切实教程(有挂黑科技)1、进入游戏-大厅...
一分钟介绍!川蜀麻将有挂吗,潮... 一分钟介绍!川蜀麻将有挂吗,潮汕暗宝真的能看穿吗(切实真的是有挂);1、进入到潮汕暗宝真的能看穿吗黑...
重大推荐!兴动互娱游戏辅助器怎... 重大推荐!兴动互娱游戏辅助器怎么用(透视辅助)总是真的有挂(2022已更新)(哔哩哔哩)1、许多玩家...
wepoke真的有挂!Wpk确... wepoke真的有挂!Wpk确实是真的有挂,微扑克系统机制教学1、超多福利:超高返利,海量正版游戏,...
科普常识!大宝麻将神器(透明挂... 科普常识!大宝麻将神器(透明挂)外挂透明挂辅助挂(2025已更新)(哔哩哔哩);大宝麻将神器是一种具...
五分钟发现!同城字牌有挂吗,天... 五分钟发现!同城字牌有挂吗,天天摸摸麻将其实有挂辅助挂,AA德州教程(有挂透明)1、任何同城字牌有挂...
十分钟攻略!可乐斗地主残局有没... 十分钟攻略!可乐斗地主残局有没有挂,皮皮跑得快有挂吗(一直有辅助挂);十分钟攻略!可乐斗地主残局有没...
aapoker透明挂!德州之星... aapoker透明挂!德州之星确实是真的有挂,wepoke挂透视攻略1、这是跨平台的aapoker透...