kafka 3.9.1版本: kraft + sasl+ standlone 模式完整可行安装步骤

Kafka 3.9.1 Kraft 单机模式安装

安装 OpenJDK 11

  • CentOS/RHEL
yum install -y java-11-openjdk-devel
  • Ubuntu/Debian
apt install -y openjdk-11-jdk

下载安装包

wget https://mirrors.aliyun.com/apache/kafka/3.9.1/kafka_2.12-3.9.1.tgz
tar -zxvf kafka_2.12-3.9.1.tgz -C /usr/local

创建认证文件

vim /usr/local/kafka_2.12-3.9.1/config/kraft/kafka_server_jaas.conf

写入内容如下:

KafkaServer {org.apache.kafka.common.security.plain.PlainLoginModule requiredusername="admin"password="admin-secret"user_admin="admin-secret"user_alice="alice-secret";
};

ps: username 和 password 表示节点建立集群时,需要验证的身份信息,只有验证通过的节点,方能成功建立集群; user_admin="admin-secret"表示用户名 admin,对应的密码为 admin-secret。user_alice 同理。

修改启动文件

vim /usr/local/kafka_2.12-3.9.1/bin/kafka-server-start.sh

写入内容如下:

if [ "x$KAFKA_OPTS" ]; thenexport KAFKA_OPTS="-Djava.security.auth.login.config=/usr/local/kafka_2.12-3.9.1/config/kraft/kafka_server_jaas.conf"
fi

修改配置

vim /usr/local/kafka_2.12-3.9.1/config/kraft/server.properties

添加或修改内容如下:

# 表示开启PLAIN认证机制
sasl.enabled.mechanisms=PLAIN
# 表示Broker间通信也启用PLAIN机制
sasl.mechanism.inter.broker.protocol=PLAIN
# 禁止对所有用户topic可见
allow.everyone.if.no.acl.found=false
# 允许自动创建topic
auto.create.topics.enable=true
# 允许删除topic
delete.topic.enable=truelisteners=SASL_PLAINTEXT://:9092,CONTROLLER://:9093
# 表示Broker间通信使用SASL
inter.broker.listener.name=SASL_PLAINTEXT
### x.x.x.x 改成公网ip
advertised.listeners=SASL_PLAINTEXT://x.x.x.x:9092,CONTROLLER://localhost:9093

生成集群唯一 ID

/usr/local/kafka_2.12-3.9.1/bin/kafka-storage.sh random-uuid

格式化存储目录(ps:集群模式下,每个集群都要执行,ID 需要保一致)

/usr/local/kafka_2.12-3.9.1/bin/kafka-storage.sh format -t IAtPev4fQu6b_OkrXGpciw -c /usr/local/kafka_2.12-3.9.1/config/kraft/server.properties

启动 kafka 集群

/usr/local/kafka_2.12-3.9.1/bin/kafka-server-start.sh -daemon /usr/local/kafka_2.12-3.9.1/config/kraft/server.properties

查看 kafka 服务日志

cat /usr/local/kafka_2.12-3.9.1/logs/server.log

停止 kafka 集群

/usr/local/kafka_2.12-3.9.1/bin/kafka-server-stop.sh

创建客户端认证文件

vim /usr/local/kafka_2.12-3.9.1/config/kraft/kafka_client_jaas.conf

写入内容如下:

KafkaClient {org.apache.kafka.common.security.plain.PlainLoginModule requiredusername="alice"password="alice-secret";
};

修改客户端生产者配置 producer.properties,添加认证机制

vim /usr/local/kafka_2.12-3.9.1/config/producer.properties

写入内容如下:

security.protocol: SASL_PLAINTEXT
sasl.mechanism: PLAIN

修改客户端消费者配置 consumer.properties,添加认证机制

vim /usr/local/kafka_2.12-3.9.1/config/consumer.properties

写入内容如下:

security.protocol: SASL_PLAINTEXT
sasl.mechanism: PLAIN

修改客户端生产者启动脚本 kafka-console-producer.sh,配置认证文件 kafka_client_jaas.conf

vim /usr/local/kafka_2.12-3.9.1/bin/kafka-console-producer.sh

修改内容如下:

if [ "x$KAFKA_OPTS" ]; thenexport KAFKA_OPTS="-Xmx512M -Djava.security.auth.login.config=/usr/local/kafka_2.12-3.9.1/config/kraft/kafka_client_jaas.conf"
fi

修改客户端消费者启动脚本 kafka-console-consumer.sh,配置认证文件 kafka_client_jaas.conf

vim /usr/local/kafka_2.12-3.9.1/bin/kafka-console-consumer.sh

修改内容如下:

if [ "x$KAFKA_OPTS" ]; thenexport KAFKA_OPTS="-Xmx512M -Djava.security.auth.login.config=/usr/local/kafka_2.12-3.9.1/config/kraft/kafka_client_jaas.conf"
fi

创建客户端认证文件

vim /usr/local/kafka_2.12-3.9.1/config/kraft/kafka_client_jaas.properties

写入内容如下:

sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="alice" password="alice-secret";
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

创建 topic

/usr/local/kafka_2.12-3.9.1/bin/kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --command-config /usr/local/kafka_2.12-3.9.1/config/kraft/kafka_client_jaas.properties --create --topic test-topic

启动客户端生产者

/usr/local/kafka_2.12-3.9.1/bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --producer.config /usr/local/kafka_2.12-3.9.1/config/producer.properties --topic test-topic

启动客户端消费者

/usr/local/kafka_2.12-3.9.1/bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --consumer.config /usr/local/kafka_2.12-3.9.1/config/consumer.properties --topic test-topic --from-beginning

查看 topic 列表

/usr/local/kafka_2.12-3.9.1/bin/kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --command-config /usr/local/kafka_2.12-3.9.1/config/kraft/kafka_client_jaas.properties --list

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/91143.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/91143.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gitee DevOps平台深度评测:本土化优势与功能特性全面解析

Gitee DevOps平台深度评测:本土化优势与功能特性全面解析 在数字化转型浪潮下,企业软件开发流程的自动化与协作效率成为核心竞争力。作为国内领先的代码托管与DevOps平台,Gitee(码云)凭借其本土化服务与全流程支持能力…

从零开始本地化部署Dify:开源大模型应用平台搭建全指南

在AI应用开发的浪潮中,Dify作为一款开源的大语言模型(LLM)应用开发平台,正逐渐成为开发者和企业的首选工具。它巧妙地融合了后端即服务(BaaS)和LLMOps的理念,让开发者能够快速搭建生产级的生成式AI应用。无论是构建智能…

Qt 多媒体开发:音频与视频处理

Qt 多媒体模块提供了一套完整的 API,用于开发音频和视频处理应用。从简单的媒体播放到复杂的音视频编辑,Qt 都提供了相应的工具和组件。本文将从基础到高级全面解析 Qt 多媒体开发。 一、Qt 多媒体模块概述 1. 主要组件 Qt 多媒体模块包含以下核心组件&a…

Mac 专业图像处理 Pixelmator Pro

原文地址:Pixelmator Pro Mac 专业图像处理 Pixelmator Pro,是一款非常强大、美观且易于使用的图像编辑器,专为 Mac 设计。 采用单窗口界面、基于机器学习的智能图像编辑、自动水平检测,智能快速选择及更好的修复工具等功能优点…

iptables和IPVS比较

iptables 和 IPVS (IP Virtual Server) 都是 Linux 系统上用于处理网络流量的强大工具,但它们的设计目标、工作原理和适用场景有显著区别: 核心区别:主要目的: iptables: 核心是一个包过滤防火墙和网络地址转换工具。它…

语音识别指标计算 WER

目录 CER(Character Error Rate) WER Word Error Rate(词错误率) 🧮 WER 计算方式 📌 示例 ✅ 理解要点 CER(Character Error Rate) 语音识别中的 CER(Character …

【前端基础篇】JavaScript之jQuery介绍

文章目录前言JQuery基本介绍和使用方法引入依赖jQuery语法jQuery选择器jQuery事件操作元素获取/设置元素内容获取/设置元素属性获取/返回css属性添加元素删除元素总结:常用的jQuery方法 - 详细解释与示例事件处理拓展 - 详细解释与示例其他拓展内容前言 在阅读过程…

Vue入门:vue项目的创建和基本概念

一、vue的基本简介1. 什么是vue?Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是…

2.oracle保姆级安装教程

一、Oracle数据库安装1.找到软件的位置 D:\学习软件\Oracle,并解压软件2.双击setup.exe3.选择 是4.去掉勾,下一步5.创建和配置数据库,下一步6.桌面类,下一步7.配置安装路径地址和密码8.点完成9.正在安装,稍等片刻10.有…

STM32 软件模拟 I2C 读写 MPU6050--实现加速度与陀螺仪数据采集

演示视频: https://www.bilibili.com/video/BV1iCQRYXEBb/?share_sourcecopy_web&vd_source0e4269581b0bc60d57a80c9a27c98905一、前言在嵌入式开发中,MPU6050 六轴传感器因其集成加速度计和陀螺仪且成本低廉,广泛应用于平衡小车、飞控、…

TFLOPs与TOPS的转换关系详解:如何衡量AI芯片的算力?

在评估AI芯片或计算硬件的性能时,我们经常会遇到TFLOPs和TOPS这两个关键指标。很多开发者对它们的区别和转换关系存在疑惑。本文将深入解析这两个指标的含义、应用场景及转换方法,并提供实际应用中的注意事项。 一、基本概念解析 1.1 TFLOPs(…

C语言:第11天笔记

C语言:第11天笔记 内容提要函数函数的概述函数的分类函数的定义形参和实参函数的返回值函数的调用函数的声明函数 函数的概述 **函数:**实现一定功能的,独立的代码模块,对于函数的使用,一定是先定义,后使 ​…

java导出pdf(使用html)

引入maven <dependencies><!-- Thymeleaf --><dependency><groupId>org.thymeleaf</groupId><artifactId>thymeleaf</artifactId><version>3.1.1.RELEASE</version> <!-- 或与 Spring Boot 匹配的版本 --></de…

Qt 远程过程调用(RPC)实现方案

在分布式系统开发中&#xff0c;远程过程调用&#xff08;RPC&#xff09;是实现跨进程、跨机器通信的重要技术。Qt 作为一个强大的跨平台框架&#xff0c;提供了多种 RPC 实现方案&#xff0c;能够满足不同场景下的通信需求。本文将深入探讨 Qt 中 RPC 的各种实现方式&#xf…

攻防世界-引导-Web_php_unserialize

题目内容&#xff1a;出现一段源代码&#xff0c;分段分析第一部分如下<?php class Demo { private $file index.php;public function __construct($file) { $this->file $file; }function __destruct() { echo highlight_file($this->file, true); }function __w…

pytorch学习笔记-自定义卷积

未完结的草稿———&#xff01;大概是准备整合一下常见的层&#xff0c;整合完感觉就可以进行搭建了&#xff08;还没进行到这一步所以不太确定版&#xff09; &#xff08;ps我将在完结这一篇的时候删除上面的小字and二编一下整篇文章的结构&#xff0c;如果看到了这部分文字…

[明道云]-基础教学2-工作表字段 vs 控件:选哪种?

本文深入解析“工作表字段”与“控件”的关系与差别,并从结构、功能、使用场景和选型建议等方面进行对比。 一、基础概念厘清 ✅ 工作表字段 = 数据模型中的列 工作表字段相当于数据库表中的列,是记录每条业务对象(如订单、客户等)属性的数据项,每个字段都有明确的名称和…

C++-一篇文章入门coroutines协程

文章目录前言什么是协程协程实现原理C协程的最小例子12345协程等效代码协程传值的例子前言 最近学习了一下C协程&#xff0c;这篇文章将介绍协程的相关概念&#xff0c;以及在C中如何使用协程。 什么是协程 C中&#xff0c;协程&#xff08;coroutines&#xff09;可以理解为…

数字经济专业的就业全景指南

CDA数据分析师证书含金量高&#xff0c;适应了未来数字化经济和AI发展趋势&#xff0c;难度不高&#xff0c;行业认可度高&#xff0c;对于找工作很有帮助。一、数字经济就业热力图二、核心岗位发展路径1. 互联网数字运营岗2. 金融科技岗岗位类型技能组合证书加持5年薪资范围智…

PDF转Word免费工具!批量处理PDF压缩,合并, OCR识别, 去水印, 签名等全功能详解

大家好&#xff0c;欢迎来到程序视点&#xff01;我是你们的老朋友.小二&#xff01;前言PDF软件我发的非常多&#xff0c;但今天这款工具是大家公认最值得推荐的&#xff0c;这款软件就是PDF24PDF24几乎包含了PDF的所有功能&#xff0c;目前是更新到了最新版本&#xff01;文末…