当前位置: 首页 > 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.mrgr.cn/news/82638.html

相关文章:

  • 桌面运维岗面试三十问
  • android.enableJetifier=true的作用:V4包的类自动编程成了androidx包的类,实现androidx的向下兼容
  • SpringMVC(四)响应
  • ts是什么、tsc是什么、tsx是什么、jsx是什么、scss是什么
  • JVM实战—11.OOM的原因和模拟以及案例
  • 松鼠状态机流转-@Transit
  • 【操作系统不挂科】操作系统期末考试题库<1>(单选题&简答题&计算与分析题&应用题)
  • ARM CCA机密计算安全模型之固件更新
  • 代码实战:基于InvSR对视频进行超分辨率重建
  • Unity-Mirror网络框架-从入门到精通之Benchmark示例
  • 1.1.2.1 选择 + 冒泡排序
  • Oracle 11g rac + Dataguard 环境调整 redo log 大小
  • 与 Oracle Dataguard 相关的进程及作用分析
  • 1.1.7 master公式的使用
  • 1.2.1 归并排序
  • 智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之13 方案再探之4:特定于领域的模板 之 div模型(完整版)
  • 三子棋游戏
  • web漏洞之文件包含漏洞
  • 模型训练二三事:参数个数、小批量、学习率衰减、输入形状
  • SCAU期末笔记 - 数据库系统概念往年试卷解析
  • MyBatis执行一条sql语句的流程(源码解析)
  • 域上的多项式环,整除,相通,互质
  • 【精读电影】至暗时刻
  • unity-入门查漏补缺0.2.02.07
  • RocketMQ场景使用
  • window11 wsl mysql8 错误分析:1698 - Access denied for user ‘root‘@‘kong.mshome.net‘