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

Linux系统上安装kafka

目录

1. 安装Java环境

2. 下载和解压Kafka

3. 配置Kafka

4. 启动ZooKeeper和Kafka

5. 测试Kafka

6. 停止服务

7.常见问题


1. 安装Java环境

Kafka依赖Java运行环境(JDK 8或更高版本):

# 安装OpenJDK(推荐)
yum install openjdk-11-jdk# 验证安装
java -version

 如果已经安装Java环境,可通过如下方式进行检查。

​# 检查当前 JAVA_HOME
echo $JAVA_HOME# 查找Java安装路径
update-alternatives --config java# 输出示例:/usr/lib/jvm/java-11-openjdk-amd64/bin/java# 设置JAVA_HOME(替换为你的路径)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.18.0.10-1.el7_9.x86_64
export PATH=$JAVA_HOME/bin:$PATH#永久修复(所有终端生效):
# /etc/profile
vim /etc/profile# 添加以下内容(替换为你的路径)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.18.0.10-1.el7_9.x86_64
export PATH=$JAVA_HOME/bin:$PATH# 使配置生效
source /etc/profile

2. 下载和解压Kafka

从官网下载最新版Kafka(以3.7.0为例):

​wget https://archive.apache.org/dist/kafka/3.7.0/kafka_2.13-3.7.0.tgz
tar -xzf kafka_2.13-3.7.0.tgz
mv kafka_2.13-3.7.0 /opt/kafka  #移动到/opt目录
cd /opt/kafka

3. 配置Kafka

修改配置文件 config/server.properties:

vim config/server.properties

关键配置项:

# 允许外部访问(替换为你的服务器IP或保持localhost)
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://<服务器IP>:9092# 日志存储目录(确保目录存在且可写)
log.dirs=/tmp/kafka-logs

4. 启动ZooKeeper和Kafka

Kafka依赖ZooKeeper协调服务,新版本内置了ZooKeeper:

#启动ZooKeeper(后台运行)
nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &#启动Kafka(后台运行)
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &

5. 测试Kafka

5.1 创建Topic

bin/kafka-topics.sh --create --topic test-topic \
--bootstrap-server localhost:9092 \
--partitions 1 --replication-factor 1

5.2 启动生产者

bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092

5.3 启动消费者(新终端)

bin/kafka-console-consumer.sh --topic test-topic --bootstrap-server localhost:9092 --from-beginning

6. 停止服务

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

7.常见问题

端口冲突:确保9092(Kafka)和2181(ZooKeeper)端口未被占用。

防火墙:开放端口或关闭防火墙:
日志目录权限:确保Kafka进程有权限写入log.dirs配置的目录。

通过以上步骤,成功在Linux上安装并运行Kafka!

相关文章:

Linux系统上安装kafka

目录 1. 安装Java环境 2. 下载和解压Kafka 3. 配置Kafka 4. 启动ZooKeeper和Kafka 5. 测试Kafka 6. 停止服务 7.常见问题 1. 安装Java环境 Kafka依赖Java运行环境&#xff08;JDK 8或更高版本&#xff09;&#xff1a; # 安装OpenJDK&#xff08;推荐&#xff09; yum…...

DeepSeek如何快速开发PDF转Word软件

一、引言 如今&#xff0c;在线工具的普及让PDF转Word成为了一个常见需求&#xff0c;常见的PDF转Word工具有收费的WPS&#xff0c;免费的有PDFGear&#xff0c;以及在线工具SmallPDF、iLovePDF、24PDF等。然而&#xff0c;大多数免费在线转换工具存在严重隐私风险——文件需上…...

虚拟机 | Ubuntu图形化系统: open-vm-tools安装失败以及实现文件拖放

系列文章目录 虚拟机 | Ubuntu 安装流程以及界面太小问题解决 文章目录 系列文章目录虚拟机 | Ubuntu 安装流程以及界面太小问题解决 前言一、VMware Tools 和 open-vm-tools 是什么1、VMware Tools2、open-vm-tools 二、推荐使用open-vm-tools&#xff08;简单&#xff09;1、…...

Mysql-经典故障案例(1)-主从同步由于主键问题引发的故障

故障报错 Could not execute Write_rows event on table test.users; Duplicate entry 3 for key PRIMARY, Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the events master log mysql-bin.000031, end_log_pos 3297这是由于从库存在与主库相同主键值&#xff0c;…...

Linux下学【MySQL】中如何实现:多表查询(配sql+实操图+案例巩固 通俗易懂版~)

每日激励&#xff1a;“不设限和自我肯定的心态&#xff1a;I can do all things。 — Stephen Curry” 绪论​&#xff1a; 本章是MySQL篇中&#xff0c;非常实用性的篇章&#xff0c;相信在实际工作中对于表的查询&#xff0c;很多时候会涉及多表的查询&#xff0c;在多表查询…...

ubuntu局域网部署stable-diffusion-webui记录

需要局域网访问&#xff0c;如下设置&#xff1a; 过程记录查看源码&#xff1a; 查看源码&#xff0c;原来修改参数&#xff1a;--server-name 故启动&#xff1a; ./webui.sh --server-name0.0.0.0 安装下载记录&#xff1a; 快速下载可设置&#xff1a; export HF_ENDPOI…...

最基于底层的运算符——位运算符

位运算符是直接对二进制位&#xff08;bit&#xff09;进行操作的运算符&#xff0c;它们在底层开发、算法优化和特定场景&#xff08;如位掩码、数据压缩&#xff09;中非常高效。以下是常见位运算符的详解、使用技巧及注意事项&#xff1a; 一、六大核心位运算符 1. 按位与&…...

代码随想录算法训练营第三十二天 | 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

509. 斐波那契数 力扣题目链接(opens new window) 斐波那契数&#xff0c;通常用 F(n) 表示&#xff0c;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a; F(0) 0&#xff0c;F(1) 1 F(n) F(n -…...

3-9 WPS JS宏单元格复制、重定位应用(拆分单表到多表)

************************************************************************************************************** 点击进入 -我要自学网-国内领先的专业视频教程学习网站 *******************************************************************************************…...

C++ 中前置 `++` 与后置 `++` 运算符重载

C 中前置 与后置 运算符重载的设计原理与使用规范 1. 为什么后置 返回对象而不是引用&#xff1f; 原因&#xff1a; 后置 需要返回自增前的旧值&#xff0c;但旧值在运算后已被修改。为了保存旧值&#xff0c;必须在函数内部创建一个临时对象&#xff08;拷贝原对象的状态…...

Scala:case class(通俗易懂版)

1. case class 是什么&#xff1f; 想象你要做一个表格&#xff0c;比如学生信息表&#xff0c;每一行需要填&#xff1a;姓名、年龄、成绩。 在代码里&#xff0c;这种“表格的一行”就是一个数据对象&#xff0c;case class 就是帮你快速创建这种“表格行”的工具。 普通方…...

Vue、React、原生小程序的写法对比差异

以下是从 变量、方法、路由、状态管理、父子传值 等多个维度对 Vue、React、原生小程序 的对比表格: 技术对比表格 功能/技术Vue (Options/Composition API)React (Hooks)原生微信小程序变量定义data() { return { count: 0 } }(Options API)const count = ref(0)(Composition…...

【AIGC系列】6:HunyuanVideo视频生成模型部署和代码分析

AIGC系列博文&#xff1a; 【AIGC系列】1&#xff1a;自编码器&#xff08;AutoEncoder, AE&#xff09; 【AIGC系列】2&#xff1a;DALLE 2模型介绍&#xff08;内含扩散模型介绍&#xff09; 【AIGC系列】3&#xff1a;Stable Diffusion模型原理介绍 【AIGC系列】4&#xff1…...

java 初学知识点总结

自己总结着玩 1.基本框架 public class HelloWorld{ public static void main(String[] args){ }//类名用大写字母开头 } 2.输入&#xff1a; (1)Scanner:可读取各种类型&#xff0c;字符串相当于cin>>; Scanner anew Scanner(System.in); Scan…...

Android MVC、MVP、MVVM三种架构的介绍和使用。

写在前面&#xff1a;现在随便出去面试Android APP相关的工作&#xff0c;面试官基本上都会提问APP架构相关的问题&#xff0c;用Java、kotlin写APP的话&#xff0c;其实就三种架构MVC、MVP、MVVM&#xff0c;MVC和MVP高度相似&#xff0c;区别不大&#xff0c;MVVM则不同&…...

AI视频领域的DeepSeek—阿里万相2.1图生视频

让我们一同深入探索万相 2.1 &#xff0c;本文不仅介绍其文生图和文生视频的使用秘籍&#xff0c;还将手把手教你如何利用它实现图生视频。 如下为生成的视频效果&#xff08;我录制的GIF动图&#xff09; 如下为输入的图片 目录 1.阿里巴巴全面开源旗下视频生成模型万相2.1模…...

IDEA 2024.1.7 Java EE 无框架配置servlet

1、创建一个目录&#xff08;文件夹&#xff09;lib来放置我们的库 2、将tomcat目录下的lib文件夹中的servlet-api.jar文件复制到刚创建的lib文件夹下。 3、把刚才复制到lib下的servlet-api.jar添加为库 4、在src下新建一个package&#xff1a;com.demo&#xff0c;然后创…...

STM32---FreeRTOS中断管理试验

一、实验 实验目的&#xff1a;学会使用FreeRTOS的中断管理 创建两个定时器&#xff0c;一个优先级为4&#xff0c;另一个优先级为6&#xff1b;注意&#xff1a;系统所管理的优先级范围 &#xff1a;5~15 现象&#xff1a;两个定时器每1s&#xff0c;打印一段字符串&#x…...

深色系B端系统界面,在何种场景下更加适合?

在数字化办公日益普及的当下&#xff0c;B 端系统已成为企业运营管理不可或缺的工具。B 端系统界面设计的优劣&#xff0c;直接影响着用户体验和工作效率。界面不仅仅是人与系统交互的媒介&#xff0c;更是企业业务流程的可视化呈现。随着设计理念和技术的不断发展&#xff0c;…...

如何使用 Python+Flask+win32print 实现简易网络打印服务1

Python 实现网络打印机&#xff1a;Flask win32print 在工作场景中&#xff0c;我们可能需要一个简单的网页接口&#xff0c;供他人上传文档并自动打印到指定打印机。 本文将演示如何使用 Python Flask win32print 库来实现这一需求。 代码详见&#xff1a;https://github.…...

红米K60澎湃OS解锁进阶:Delta面具Root实战与BL解锁后系统深度定制指南

1. 红米K60澎湃OS解锁Root前的准备工作 拿到一台已经解锁Bootloader的红米K60&#xff0c;想要通过Delta面具获取Root权限&#xff0c;准备工作至关重要。我遇到过不少小伙伴因为前期准备不足&#xff0c;导致刷机过程中出现各种奇怪问题。下面这些步骤都是我实测有效的方案&am…...

OpenHarmony ArkUI Toggle组件实战:红蓝药丸选择器开发详解

1. 项目概述与设计思路最近在整理OpenHarmony应用开发的学习笔记&#xff0c;发现很多初学者在接触到ArkUI的声明式开发范式时&#xff0c;对于如何将UI组件与用户交互、状态管理结合起来&#xff0c;总感觉隔着一层纱。理论看了不少&#xff0c;但一到自己动手&#xff0c;就不…...

Flask核心进阶:路由、模板与静态文件实战

在掌握Flask入门知识后&#xff0c;想要开发出更具实用性和美观度的Web应用&#xff0c;就需要深入学习其核心进阶功能&#xff0c;其中路由、模板与静态文件是最基础也是最常用的三个模块&#xff0c;三者协同工作&#xff0c;构成了Flask Web应用的前端展示与请求分发体系。路…...

技术视角:分布式投票系统的异步解耦架构与多语言协同实践

技术视角&#xff1a;分布式投票系统的异步解耦架构与多语言协同实践 【免费下载链接】example-voting-app Example Docker Compose app 项目地址: https://gitcode.com/gh_mirrors/exa/example-voting-app 在当今企业级应用架构设计中&#xff0c;如何平衡高并发处理、…...

5分钟免费制作专业AI翻唱:AICoverGen完整指南

5分钟免费制作专业AI翻唱&#xff1a;AICoverGen完整指南 【免费下载链接】AICoverGen A WebUI to create song covers with any RVC v2 trained AI voice from YouTube videos or audio files. 项目地址: https://gitcode.com/gh_mirrors/ai/AICoverGen 想让AI帮你翻唱…...

AI应用开发利器:ai-devkit工具包核心功能与工程实践指南

1. 项目概述与核心价值最近在折腾AI应用开发&#xff0c;发现一个挺有意思的项目&#xff0c;叫codeaholicguy/ai-devkit。乍一看名字&#xff0c;你可能会觉得这又是一个“AI开发工具包”&#xff0c;市面上类似的工具已经多如牛毛了。但深入用下来&#xff0c;我发现它不太一…...

打造便携式Kali Linux安全评估工具:OpenClaw USB定制全攻略

1. 项目概述&#xff1a;一个便携式安全评估工具的诞生 在安全研究、渗透测试或者应急响应的现场&#xff0c;你经常会遇到一个经典困境&#xff1a;目标环境可能是一台物理隔离的机器&#xff0c;或者是一台你无法安装任何软件的“干净”主机。你需要一个功能强大、即插即用的…...

Nix构建确定性AI编程环境:解决Cursor编辑器依赖冲突难题

1. 项目概述&#xff1a;当代码编辑器遇上Nix的确定性魔法 最近在折腾开发环境时&#xff0c;我遇到了一个老生常谈但又无比头疼的问题&#xff1a;团队里新来的同事怎么也跑不起来我本地运行得好好的一个代码辅助工具链。依赖版本冲突、系统库路径不对、甚至是因为他用的macO…...

SimulinkVeriStandLabVIEW协同开发——从模型编译到交互式仪表盘部署

1. 工具链协同开发的核心价值 在电力电子和工业控制领域&#xff0c;快速原型开发往往需要跨越建模、实时测试和人机交互三个关键环节。Simulink、VeriStand和LabVIEW组成的工具链&#xff0c;就像汽车制造的流水线——Simulink是设计图纸的工程师&#xff0c;VeriStand是组装车…...

Netgear路由器终极救援指南:用nmrpflash免费快速修复变砖设备

Netgear路由器终极救援指南&#xff1a;用nmrpflash免费快速修复变砖设备 【免费下载链接】nmrpflash Netgear Unbrick Utility 项目地址: https://gitcode.com/gh_mirrors/nmr/nmrpflash 当你的Netgear路由器在固件升级过程中意外断电&#xff0c;或者刷入错误固件导致…...