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

如何安装部署kafka

安装和部署Apache Kafka需要以下几个步骤,包括下载 Kafka、配置 ZooKeeper(或者使用 Kafka 自带的 Kafka Raft 模式替代 ZooKeeper),以及启动 Kafka 服务。以下是一个但基于 Linux 的典型安装流程,可以根据需要改装到其他操作系统。

1.安装的。

保证您的系统安装了以下依赖:

  • Java(Kafka依赖于Java运行环境,推荐JDK 8及以上版本)
# 检查 Java 版本
java -version# 如果没有安装 Java,可以通过以下命令安装(适用于 Ubuntu/Debian 系统)
sudo apt update
sudo apt install default-jdk -y

2.下载并解压Kafka

  1. 访问Kafka官方下载页面选择最新的稳定版本,下载二进制包(一般使用Scala版本的Kafka)。也可以使用命令行直接下载:
# 下载 Kafka(以 Kafka 3.0.0 为例,Scala 2.13)
wget https://downloads.apache.org/kafka/3.0.0/kafka_2.13-3.0.0.tgz# 解压 Kafka 压缩包
tar -xzf kafka_2.13-3.0.0.tgz# 进入 Kafka 目录
cd kafka_2.13-3.0.0

3.配置ZooKeeper

在传统的 Kafka 部署中,Kafka 依赖ZooKeeper来管理集群的元数据。如果使用的是传统的 Kafka 版本,仍需安装并运行 ZooKeeper。

注意:自 Kafka 2.8 开始,Kafka 引入了 Raft 模式,可以添加 ZooKeeper。

  • 安装ZooKeeper(如果选择不使用Raft模式)

Kafka自带了一个基础的ZooKeeper配置文件,可以直接使用。

# 启动 ZooKeeper 服务(默认配置)
bin/zookeeper-server-start.sh config/zookeeper.properties

ZooKeeper默认会在2181端口上运行。

4.启动Kafka Broker

  1. Kafka的配置文件在config/server.properties中。
  2. 使用默认配置启动Kafka Broker:
# 启动 Kafka broker
bin/kafka-server-start.sh config/server.properties

默认情况下,Kafka Broker 会在9092端口上运行。

5.测试Kafka

Kafka自带了生产者和消费者的命令行工具,下面我们通过这些工具来验证 Kafka 的工作状态。

1.创建 Kafka 主题

Kafka 使用“主题”来组织消息,首先需要创建一个主题:

# 创建名为 test 的主题(默认副本数为1,分区数为1)
bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1

列出集群中的所有主题:

bin/kafka-topics.sh --list --bootstrap-server localhost:9092
2.生产消息

使用 Kafka 提供的命令行生产者工具向test主题发送消息:

# 启动生产者,向 test 主题发送消息
bin/kafka-console-producer.sh --topic test --bootstrap-server localhost:9092

输入一些消息,每条消息按行输入,按回车键后发送。

3.消费消息

使用 Kafka 的消费者工具读取test主题中的消息:

# 启动消费者,读取 test 主题的消息
bin/kafka-console-consumer.sh --topic test --from-beginning --bootstrap-server localhost:9092

消费者分区头读取所有消息,并在控制台输出。

6. Kafka 配置文件说明

Kafka 的主配置文件为config/server.properties,其中包含了 Kafka 运行时的各种参数。常用的配置项包括:

  • broker.id: 唯一标识 Kafka Broker 的 ID,在多集群集群中,每个 Broker 的 ID 都应该是唯一的。
  • listeners:Kafka Broker 监听的地址和端口,默认是localhost:9092
  • log.dirs: Kafka存储日志(即消息)的目录,默认为/tmp/kafka-logs
  • zookeeper.connect: ZooKeeper 连接字符串(在使用 ZooKeeper 模式时)。

7.关闭Kafka和ZooKeeper

完成测试后,可以关闭Kafka和ZooKeeper服务。

# 停止 Kafka 服务
bin/kafka-server-stop.sh# 停止 ZooKeeper 服务
bin/zookeeper-server-stop.sh

8.部署多集群资源

在生产环境中,通常会部署 Kafka 的多集群集群。这涉及到:

  • 修改每个brokerbroker.id,确保唯一。
  • 修改listeners参数,确保每个经纪人都有唯一的IP地址和端口。
  • 增加 ZooKeeper 的高可用配置(或者使用 Kafka Raft 模式)。

Kafka集群部署需要配置多台服务器,将多个broker连接到相同的ZooKeeper集群。

相关文章:

如何安装部署kafka

安装和部署Apache Kafka需要以下几个步骤,包括下载 Kafka、配置 ZooKeeper(或者使用 Kafka 自带的 Kafka Raft 模式替代 ZooKeeper),以及启动 Kafka 服务。以下是一个但基于 Linux 的典型安装流程,可以根据需要改装到其…...

Centos7-rpm包管理器方式安装MySQL 5.7.25

前言 本文用于学习通过Mysql压缩包在centos7中安装和配置的过程以及过程中碰到的Bug解决。 Mysql安装包下载和上传 MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/访问Mysql官方下载站,选择对应的…...

Project Online 协作版部署方案

目录 前言 第一部分:为什么选择Project Online? 一、核心优势 二、适用场景 第二部分:部署前的准备工作 一、需求分析 二、账户和权限管理 三、培训与支持 第三部分:Project Online 的核心功能 一、项目创建与管理 二、资源管理 三、团队协作 四、风险管理 五…...

小米 13 Ultra机型工程固件 资源预览与刷写说明 步骤解析

小米 13 Ultra机型---机型代码为ishtar 。工程固件可以辅助修复格机或者全檫除分区后的基带修复。可以用于修复TEE损坏。以及一些分区的底层修复。此款固件也可以为更换UFS后的底包。 通过博文了解 1💝💝💝-----此机型工程固件的资源刷写注意事项 2💝💝💝-----此…...

Goweb预防XSS攻击

XSS攻击示例 假设您有一个简单的Web应用程序,其中包含一个用户输入表单,用户可以在其中输入他们的名字,然后这个名字会被显示在页面上。攻击者可以在表单中输入恶意的JavaScript代码,如,如果应用程序没有对这个输入进…...

ICM20948 DMP代码详解(36)

接前一篇文章:ICM20948 DMP代码详解(35) 上一回讲到了icm20948_sensor_setup() ---> inv_icm20948_initialize_auxiliary函数 ---> inv_icm20948_set_slave_compass_id函数,本回开始,就对于inv_icm20948_set_sla…...

【框架】Spring、SpringBoot和SpringCloud区别

Spring Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架) IoC(Inversion of Control,控制反转)是一种设计思想,它主要用于降低软件系统中不同模块之间的耦合度,提高代码的可维护…...

计算机网络各层有哪些协议?

计算机网络的各层协议知识总结 一、物理层 没有涉及到比较重要的协议,但是有一个比较重要的技术----非对称数字用户线(ADSL) 二、数据链路层 1、点对点协议(PPP----point to point protocol,用户计算机与ISP进行通信…...

Diffusion Model Stable Diffusion(笔记)

参考资料: 文章目录 DDPM架构模型如何拥有产生逼真图片的能力Denoise模型功能Denoise模型如何训练考虑进文字 文生图流程(Stable Diffusion) DDPM架构 模型如何拥有产生逼真图片的能力 Denoise模型功能 通过Denoise将一个噪音图一步步生成为目标图像 Denoise实际…...

如何创建模板提示prompt

定义模型 from langchain_ollama import ChatOllamallm ChatOllama(base_url"http://ip:11434",model"qwen2",temperature0,tool_choice"auto" )什么是提示模板? 它的目的是根据不同的输入动态生成特定格式的文本,以便…...

C语言 | Leetcode C语言题解之第423题从英文中重建数字

题目&#xff1a; 题解&#xff1a; char * originalDigits(char * s) {int lenstrlen(s);int arr[26]{0},num[10]{0},cot0;for(int i 0; i < len; i)arr[s[i] - a];num[0] arr[z-a];num[2] arr[w-a];num[4] arr[u-a];num[6] arr[x-a];num[8] arr[g-a];num[1] arr[o…...

Jboss CVE-2017-12149 靶场攻略

漏洞简述 该漏洞为 Java反序列化错误类型&#xff0c;存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter过滤器中。该过滤器在没有进⾏任何安全检查的情况下尝试将来⾃客户端的数据流进⾏反序列化&#xff0c;从⽽导 致了漏洞 漏洞范围 JBoss 5.x/6.x 环境搭建 …...

ROS2 中令人困惑的rclpy.shutdown()

在使用rclpy&#xff08;Robot Operating System (ROS) 2的Python客户端库&#xff09;时&#xff0c;rclpy.spin()和rclpy.shutdown()是两个非常重要的函数&#xff0c;它们各自承担着不同的角色。 rclpy.spin() rclpy.spin()函数通常被用于启动一个节点的主循环。在这个循环…...

PHP纯离线搭建(php 8.1.7)

要离线从零安装 PHP 8.1.7&#xff0c;需要准备好 PHP 的源代码以及所有相关的依赖包。以下是步骤&#xff1a; 步骤概览 在联网系统上下载 PHP 8.1.7 源代码和所有依赖包。 将这些文件传输到离线系统。 安装所需的依赖包。 编译并安装 PHP 8.1.7。 配置 PHP 和 Web 服务器。 …...

【iOS】push和pop、present和dismiss

目录 前言push和poppushpop present和dismisspresentdismiss实现模态对话框代码示例 区别总结 前言 push 和 present 是两种用于导航和切换视图控制器&#xff08;ViewController&#xff09;的常用方法&#xff0c;push与present都可以推出新的界面&#xff0c;present与dismi…...

基于51单片机的两路电压检测(ADC0808)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机&#xff0c;通过ADC0808获取两路电压&#xff0c;通过LCD1602显示 二、硬件资源 基于KEIL5编写C代码&#xff0c;PROTEUS8.15进行仿真&#xff0c;全部资源在页尾&#xff0c;提供…...

JavaScript ---案例(统计字符出现次数)

统计字符出现次数 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-w…...

切换淘宝最新npm镜像源

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;前端工程师 文章目录 一、&#x1f30e;前言二、&#x1f30e;切换淘宝最新npm镜像源2.…...

mysql时间戳格式化yyyy-mm-dd

格式化到 年月日 # 将时间换成列名就行&#xff1b;当前是秒级时间戳&#xff0c;如果是毫秒的 / 1000即可 # SELECT FROM_UNIXTIME(1602668106666.777888999 / 1000,%Y-%m-%d) AS a; # SELECT FROM_UNIXTIME(列名 / 1000,%Y-%m-%d) AS a; SELECT FROM_UNIXTIME(1602668106.666…...

网络丢包定位记录(二)

网卡驱动丢包 查看&#xff1a;ifconfig eth1/eth0 等接口 1.RX errors: 表示总的收包的错误数量&#xff0c;还包括too-long-frames错误&#xff0c;Ring Buffer 溢出错误&#xff0c;crc 校验错误&#xff0c;帧同步错误&#xff0c;fifo overruns 以及 missed pkg 等等。 …...

番茄小说下载器终极指南:三步构建你的离线阅读自由王国

番茄小说下载器终极指南&#xff1a;三步构建你的离线阅读自由王国 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 你是否曾在地铁里读到精彩章节时突然断网&#xff1f;是否在…...

GitLab External Wiki代理权限绕过漏洞深度解析

1. 这个漏洞不是“修个补丁”就能完事的——它暴露的是 GitLab 权限模型里一个被长期忽视的逻辑断层GitLab 安全漏洞 CVE-2025-2614&#xff0c;光看编号容易误以为是又一个常规的越权或 XSS 类型漏洞。但我在实际复现和审计过程中发现&#xff0c;它根本不是配置疏漏或代码拼写…...

保姆级教程:Windows系统下Arcgis 10.2从下载、安装到汉化一次搞定(附常见License启动失败解决方案)

Windows系统下Arcgis 10.2完整安装与汉化实战指南第一次接触Arcgis的新手往往会被复杂的安装流程和神秘的License Manager搞得晕头转向。作为一款功能强大的地理信息系统软件&#xff0c;Arcgis在科研、城市规划、环境监测等领域有着广泛应用&#xff0c;但它的安装过程确实会让…...

AI率总超标?2026年AI写作辅助网站排行榜权威发布,轻松定稿不是梦!

写论文效率低、熬夜赶稿、查重不过关&#xff1f;别慌&#xff01;2026 年最新 AI 论文写作工具合集来了&#xff0c;覆盖选题、大纲、初稿、润色、降重、格式、文献引用全流程&#xff0c;帮你精准匹配最适合的学术助手&#xff0c;彻底告别论文内耗&#xff01;&#x1f3c6;…...

淘宝淘金币自动化脚本终极指南:如何每天节省25分钟实现智能任务管理

淘宝淘金币自动化脚本终极指南&#xff1a;如何每天节省25分钟实现智能任务管理 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本&#xff0c;包含蚂蚁森林收取能量&#xff0c;芭芭农场全任务&#xff0c;解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taoji…...

别再手动测模型了!用Simulink Test Manager实现自动化测试(附Excel表格配置详解)

从手动测试到智能验证&#xff1a;Simulink Test Manager全流程自动化实战指南 在模型开发的迭代过程中&#xff0c;工程师们常常陷入"修改-测试-记录"的循环泥潭。每次参数调整后&#xff0c;手动运行模型、记录数据、比对结果不仅消耗大量时间&#xff0c;更可能因…...

3个实用场景教你轻松解锁网易云音乐NCM加密文件:ncmdumpGUI完整指南

3个实用场景教你轻松解锁网易云音乐NCM加密文件&#xff1a;ncmdumpGUI完整指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经下载了网易云音乐的…...

DLA功耗优化验证:tegrastats实战指南

重磅预告&#xff1a;本专栏将独家连载系列丛书《智能体视觉技术与应用》部分精华内容&#xff0c;该书是世界首套系统阐述“因式智能体”视觉理论与实践的专著&#xff0c;特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan先生师从美国三院院士、“…...

Facebook登录协议逆向解析:appsecret_proof与e2e加密机制

1. 这不是“爬虫教程”&#xff0c;而是一次对现代Web身份协议的解剖实验你有没有试过&#xff0c;在调试一个Facebook登录集成时&#xff0c;浏览器Network面板里突然冒出一串带sig、access_token、e2e、c_user的请求&#xff0c;参数长度动辄上千字符&#xff0c;加密方式五花…...

YOLOv8道路交通信号标志识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置)

摘要 道路交通信号标志的自动检测是智能驾驶与交通管理系统中的核心环节。本文基于YOLOv8目标检测算法&#xff0c;构建了一个涵盖21类常见交通信号标志的检测系统&#xff0c;包括禁令标志、指示标志、警告标志及信号灯等。模型在包含1376张训练图像、488张验证图像和229张测…...