当前位置: 首页 > news >正文

Kraft模式安装Kafka(含常规、容器两种安装方式)

 一、#创作灵感#

公司使用Kafka的软件项目较多,故写技术笔记巩固知识要点

二、软件环境

- Kafka 3.9.0  官方下载地址:Kafka 3.9.0

- Docker Desktop 4.37 容器图形化工具  官方下载地址:Docker Desktop 4.37

特别说明

Docker Desktop仅仅是Windows下镜像用,如有能爬楼的服务器可不安装此软件

- 本文以单机模式为例

三、常规方式安装

非容器化Kraft Mode(模式)安装

1、下载Kafka

参见上面的软件环境章节的下载地址

2、修改Kafka配置

# Kraft模式启动

vi $KAFKA_HOME/config/kraft/server.properties

关键设置包括

# 指定此节点是否应该成为控制平面的一部分
process.roles=controller,kafka# KRaft模式下的节点ID,每个节点的ID必须唯一
node.id=1# 监听器地址,用于集群内通信
listeners=PLAINTEXT://localhost:9092# 控制平面监听器地址
controller.listeners=PLAINTEXT://localhost:9090# 用于集群通信的安全协议以及相关的认证和授权配置
inter.broker.listener.name=CONTROLLER# 控制平面的ADVERTISED.LISTENERS,用于其他节点发现
controller.listener.names=CONTROLLER
controller.advertised.listeners=PLAINTEXT://localhost:9090# 用于KRaft模式的元数据复制因子,通常设置为集群中控制器的数量
metadata.max.age=300000# 日志存储配置,指定日志的位置和格式
log.dirs=/tmp/kraft-logs
log.retention.hours=168# 控制平面的选举配置和集群成员配置
control.plane.listener.name=CONTROLLER
control.plane.advertised.listeners=PLAINTEXT://localhost:9090# 集群的初始/bootstrap状态
process.roles=controller
node.id=1
listeners=CONTROLLER://localhost:9090
inter.broker.listener.name=CONTROLLER

5、Zookeeper模式启动Kafka

# Start the Kafka broker service
$ bin/kafka-server-start.sh config/kraft/server.properties

四、容器方式安装

容器化Kraft Mode(模式)安装

1、容器启动Kafka

- 下载镜像

下载一体化官方镜像

$ docker pull confluentinc/cp-kafka:7.0.1

 - 创建ConfigMap资源

用于定义Kafka配置

apiVersion: v1
kind: ConfigMap
metadata:name: kafka-config
data:config.properties: |process.roles=brokernode.id=1listeners=PLAINTEXT://:9092inter.broker.listener.name=PLAINTEXT...

- 创建Deployment资源

用于部署Kafka Pod

apiVersion: apps/v1
kind: Deployment
metadata:name: kafka-deployment
spec:replicas: 3selector:matchLabels:app: kafkatemplate:metadata:labels:app: kafkaspec:containers:- name: kafkaimage: confluentinc/cp-kafka:7.0.1ports:- containerPort: 9092env:- name: CONFIG_FILEvalue: "/etc/kafka/conf/config.properties"...volumeMounts:- name: config-volumemountPath: /etc/kafka/confvolumes:- name: config-volumeconfigMap:name: kafka-config

- 创建Service资源

用于对外暴露Kafka服务

apiVersion: v1
kind: Service
metadata:name: kafka-service
spec:selector:app: kafkaports:- protocol: TCPport: 9092targetPort: 9092

- 应用到你的Kubernetes集群

这些YAML文件定义了Kafka的配置、部署和服务。你需要将它们保存为文件,然后使用kubectl 应用到你的Kubernetes集群

kubectl apply -f configmap.yaml
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

- (或)使用镜像启动容器

# 假设打好的镜像id是fe7e6a65afa5
docker run \
--name=cp-kafka \
-p 2181:2181 \
-p 9092:9092 \
-p 19092:19092 \
-d fe7e6a65afa5

五、要点总结

      - Zookeeper Mode使用的配置是$KFAKA_HOME/config/server.properties

      - Kraft Mode使用的配置是$KFAKA_HOME/config/kraft/server.properties

      - Zookeeper Mode启动见作者的文章:Zookeeper模式安装Kafka

http://www.lryc.cn/news/515509.html

相关文章:

  • Linux驱动开发(16):输入子系统–电容触摸驱动实验
  • 《深入浅出HTTPS​​​​​​​​​​​​​​​​​》读书笔记(24):椭圆曲线密码学
  • 现代光学基础5
  • 力扣hot100——贪心
  • vue3如何实现防抖?
  • 西安电子科技大学初/复试笔试、面试、机试成绩占比
  • spring mvc源码学习笔记之六
  • 树莓派4b如何连接ov7670摄像头
  • [微服务]分布式搜索Java客户端
  • 如何使用 `uiautomator2` 控制 Android 设备并模拟应用操作_VIVO手机
  • 在Ubuntu 18.04.6 LTS安装OpenFace流程
  • C 语言的整型提升问题
  • 第0章 机器人及自动驾驶SLAM定位方法全解析及入门进阶学习建议
  • video.js视频播放上手
  • 【LLM-Agent】Building effective agents和典型workflows
  • 《量子比特大阅兵:不同类型量子比特在人工智能领域的优劣势剖析》
  • 《探秘开源大模型:AI 世界的“超级引擎”》
  • el-table行列转换简单版,仅限单行数据
  • 2025年1月4日蜻蜓q旗舰版st完整开源·包含前后端所有源文件·开源可商用可二开·优雅草科技·优雅草kir|优雅草星星|优雅草银满|优雅草undefined
  • SQL把字符串按逗号分割成记录
  • C#设计模式(行为型模式):观察者模式
  • pytorch镜像源
  • Verilog语法之常用行为级语法
  • PADS Logic原理图中有很多页原理图,如何(怎样)删除其中一页或者多页
  • 蓝色简洁引导页网站源码
  • Apache PDFBox添加maven依赖,pdf转成图片
  • mybatis 和 mybatisPlus 兼容性问题
  • Mono里运行C#脚本23—mono_jit_exec
  • 第十一章 图论
  • 纯前端实现将pdf转为图片(插件pdfjs)