kafka安装及收发消息

news2025/1/17 23:12:21

kafka需要与zookeeper配合使用,但是从2.8版本kafka引入kraft,也就是说在2.8后,zookeeper和kraft都可以管理kafka集群,这里我们依然采用zookeeper来配合kafka。
1、首先我们下载zookeeper
下载地址为
https://zookeeper.apache.org/releases.html#download
(选择版本为3.7.2)
然后上传到服务器,解压后如下

drwxr-xr-x. 2 limuzi limuzi  4096 Oct  6  2023 bin
drwxr-xr-x. 2 limuzi limuzi    92 May 12 01:33 conf
drwxr-xr-x. 5 limuzi limuzi  4096 Oct  6  2023 docs
drwxrwxr-x. 2 limuzi limuzi  4096 May  9 06:04 lib
-rw-r--r--. 1 limuzi limuzi 11358 Oct  6  2023 LICENSE.txt
drwxrwxr-x. 2 limuzi limuzi    74 May  9 06:05 logs
-rw-r--r--. 1 limuzi limuzi  2084 Oct  6  2023 NOTICE.txt
-rw-r--r--. 1 limuzi limuzi  2214 Oct  6  2023 README.md
-rw-r--r--. 1 limuzi limuzi  3570 Oct  6  2023 README_packaging.md

进入到conf目录下,执行如下命令,copy一个zk的配置文件

cp zoo_sample.cfg zoo.cfg

进入到zoo.cfg的配置文件中,修改相关参数

dataDir=/home/limuzi/software/zookeeper/zookeeper_data

如上所示修改zk的数据存储位置

clientPort=2181

zk的启动端口为2181,这里我们不做修改
2、下载3.5版本的kafka
下载地址为:
https://kafka.apache.org/downloads
如图所示:
在这里插入图片描述
2.13是scala语言的版本,整个大版本是3.5的
(因为kafka的producer 和 consumer是用java语言写的,broker是用scala语言写的)
把压缩包上传到服务器解压,进入解压后的config文件,修改以下参数,

#设置broker的消息存储时间为180s,180s后消息删除
log.retention.ms=180000
#设置zk的连接地址,我这里是zk的单节点,不是集群,且启动端口是默认的2181
zookeeper.connect=localhost:2181
#listeners 是 Kafka 集群中用于接受客户端连接的网络监听器配置参数。通过设置 listeners 参数,你可以指定 Kafka 服务器监听客户端连接的网络地址和端口
#在 Kafka 的 server.properties 配置文件中,listeners 参数的默认值为 PLAINTEXT://hostname:9092,
#其中 hostname 是 Kafka 服务器的主机名或 IP 地址。这意味着 Kafka 服务器将在默认端口 9092 上监听来自客户端的连接请求
#这里要设置,要不然在java客户端连接不上kafka
listeners=PLAINTEXT://192.168.47.145:9092
#当前broker的id,这里我们是测试单节点,所以不用修改,
#如果是kafka集群(假如有三台服务器),那么分别需要修改为0,1,2
broker.id=0
#kafka文件存储的位置,整个文件里面存储有log文件和index文件,关于这两个文件的作用后续会说明
log.dirs=/home/limuzi/software/kafka_2.13-3.5.0/kafka_data

3、启动zk和kafka
首先启动zk,进入到zk安装的bin目录下,执行如下命令

./zkServer.sh start

查看zk是否启动成功

./zkServer.sh status

如果 ZooKeeper 服务已经成功启动,应该会显示类似于 Mode: standalone 的信息
启动kafka
进入到kafka安装目录的bin目录下

./kafka-server-start.sh ../config/server.properties &

加上 & 表示后台启动
4、在控制台测试收发消息
首先用命令创建topic,进入到安装目录bin目录下执行如下脚本,创建了一个topic=test,分区为1,副本数为1

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

开启生产者:进入到bin目录下,执行如下命令

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

然后在控制台可以输入消息
开启消费者:新开一个窗口,进入到bin目录下,执行如下命令

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

在控制台可以看到刚刚生产者发送的消息

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

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

相关文章

openlayers实现绘制图标,并实现图标的聚合功能

点聚合说明 点聚合功能是指将地图上密集的点数据聚合成一个更大的点或者其他形状,以改善地图的可视化效果和性能。点聚合功能通常用于在地图上显示大量的点标记,例如地图上的POI(兴趣点)、传感器数据等。通过点聚合功能&#xff…

【机器学习300问】86、简述超参数优化的步骤?如何寻找最优的超参数组合?

本文想讲述清楚怎么样才能选出最优的超参数组合。关于什么是超参数?什么是超参数组合?本文不赘述,在之前我写的文章中有详细介绍哦! 【机器学习300问】22、什么是超参数优化?常见超参数优化方法有哪些?htt…

[Bug]:由于中国防火墙,无法连接 huggingface.co

问题描述 : OSError: We couldnt connect to https://huggingface.co to load this file, couldnt find it in the cached files and it looks like youscan/ukr-roberta-base is not the path to a directory containing a file named config. Json. Checkout your internet …

支持视频切片的开源物联网平台

软件介绍 MzMedia开源视频联动物联网平台是一个简单易用的系统,该平台支持主流短视频平台(如抖音、快手、视频号)的推流直播功能,同时提供视频切片等功能。系统后端采用Spring Boot,前端采用Vue3和Element Plus,消息服…

[C++初阶]string的几道oj题

1.LCR 192. 把字符串转换成整数 (atoi) 这题难度不大,我这里采取遍历跳过空格的方式,我先展示出我的代码,然后慢慢讲解: class Solution { public:int myAtoi(string str) {if (str.empty()) return 0;int lengthstr.size();int i0;int symbol1;int sum0;while(i&l…

C++组合类

类的数据成员不但可以是基本类型,也可以是其它类的对象。 组合类就是指一个类包含其他类的对象作为该类的数据成员。 当组合类创建对象时,其中包含的各个数据成员对象应首先被创建。因此,在创建类的对象时,既要对本类的基本…

2024小红书电商实战营,养号打造IP/选爆品/开店铺/爆款笔记/等等(24节)

我们非常荣幸地为大家带来2024小红书电商实战营的第一期,在这里我们将带领大家一起深入学习如何利用小红书平台,实现个人品牌的发展和商业利益的增长。 首先,我们将讨论养号的重要性以及如何打造个人品牌。无论是建立自己的受众群体还是提高…

java基础知识点总结2024版(8万字超详细整理)

java基础知识点总结2024版(超详细整理) 这里写目录标题 java基础知识点总结2024版(超详细整理)java语言的特点1.简单性2.面向对象3.分布式4.健壮性5.安全性6.体系结构中立7.可移植性8.解释性9.多线程10.动态性 初识java中的main方…

刨析YOLOv8的改进模块

1、YOLOv5回顾 这里粗略回顾一下,这里直接提供YOLOv5的整理的结构图吧:Backbone:CSPDarkNet结构,主要结构思想的体现在C3模块,这里也是梯度分流的主要思想所在的地方;PAN-FPN:双流的FPN,必须香,也必须快,但是量化还是有些需要图优化才可以达到最优的性能,比如cat前后…

【机器学习300问】87、学习率这种超参数在优化时选择随机搜索方法,为什么要在对数尺度范围进行随机搜索?

在超参数优化过程中,对数尺度范围进行随机采样对于某些类型的超参数来说是非常有效的,特别是当超参数的有效值跨越几个数量级时。学习率就是这样一种超参数,它可以从非常小(例如)到相对大的值(例如&#xf…

Java RMI SERVER命令执行漏洞

Java RMI SERVER命令执行漏洞 一、介绍二、原理三、复现准备四、漏洞复现 一、介绍 RMI全称是Remote Method Invocation(远程方法调用),是专为Java环境设计的远程方法调用机制,远程服务器提供API,客户端根据API提供相…

57. 【Android教程】相机:Camera

相机现在已经不仅仅是手机必备神器了,甚至相机的拍照质量已经是很多人买手机的首选条件了。而对于相机而言主要有两大功能:拍照片和拍视频。Android 为此两种方式: 相机 intent相机 API 本节我们就一起来看看相机的具体用法。 1. 打开 Camer…

STC8增强型单片机开发day03

中断系统INT 中断的概念 中断系统是为使 CPU 具有对外界紧急事件的实时处理能力而设置的。 当中央处理机 CPU 正在处理某件事的时候外界发生了紧急事件请求,要求 CPU 暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的…

鸿蒙内核源码分析(共享内存) | 进程间最快通讯方式

运行机制 共享好端端的一词,近些年被玩坏了,共享单车,共享充电宝,共享办公室,共享雨伞… 甚至还有共享女朋友,真是人有多大胆,共享有多大产。但凡事太尽就容易恶心到人,自己也一度被 共享内存 恶心到了&am…

南京信工一班IP(2)

第六章,BGP—边界网关协议 自治系统—AS ​ 定义:由一个单一的机构或组织所管理的一系列IP网络及其设备所构成的集合。 ​ AS的来源: 整个网络规模过大,会导致路由信息收敛速度过慢,设备对相同目标认知不同。AS之间…

python算法demo0512

最长回文数 代码 class Solution:def longestPalindrome(self, s: str) -> str:n len(s)if n < 2:return smax_len 1begin 0# dp[i][j] 表示 s[i..j] 是否是回文串dp [[False] * n for _ in range(n)]for i in range(n):dp[i][i] True# 递推开始# 先枚举子串长度fo…

iview(viewUI) span-method 表格实现将指定列的值相同的行合并单元格

效果图是上面这样的&#xff0c;将第一列的名字一样的合并在一起&#xff1b; <template><div class"table-wrap"><Table stripe :columns"columns" :data"data" :span-method"handleSpan"></Table></div&…

Oracle 数据库

前言 今天开始学习 Oracle 数据库&#xff0c;这是实习公司要求的&#xff0c;虽然还没开始实习&#xff0c;但是事先熟练到岗之后就不需要再花费时间学习了。有了 MySQL 的基础&#xff0c;学习 Oracle 应该问题不大&#xff0c;不过 MySQL 一些进阶的内容依然需要再精进一下。…

搭建属于自己的AI知识库

前言 最近在看一本书《在线》&#xff0c;将所有数据都需要在线&#xff0c;才有生命力&#xff0c;那么我们的知识库也是。我们现在就可以用先进的大预言模型搭建属于自己的在线 AI 知识库&#xff0c;他就是 ChatGLM 智谱清言智能体。 它可以将自己的知识库与 ChatGLM 结合&…

锐捷EWEB网管系统RCE漏洞

文章目录 免责声明漏洞描述漏洞原理影响版本漏洞复现修复建议 免责声明 该文章只为学习和交流&#xff0c;请不要做违法乱纪的事情&#xff0c;如有与本人无关 漏洞描述 锐捷网管系统是由北京锐捷数据时代科技有限公司开发的新一代基于云的网络管理软件&#xff0c;以"…