kafka入门03——简单实战
目录
安装Java
安装Zookeeper
安装Kafka
生产与消费

主要是记录下Kafka的安装配置过程,前置条件需要安装jdk和zookeeper。
安装Java
1.Oracle官网下载对应jdk安装包
-
官网地址:Java Downloads | Oracle
-
好人分享了下载需要的oracle账号,传送门Oracle账号分享_oracle 账户分享-CSDN博客

2.将本地压缩包上传到虚拟机自定义路径,路径看诸君的习惯,敝人使的/usr/local/java
使用SSH远程连接工具FinalShell上传jdk压缩包(上传文件也看诸君喜好的SSH连接工具),FinalShell安装下载:【安装教程】SSH远程连接工具-FinalShell的安装_finalshell安装_Summer_may的博客-CSDN博客

3.解压缩,在压缩包路径下输入: tar -zxvf 上传的jdk压缩包名
tar -zvxf jdk-8u391-linux-x64.tar.gz

4.编辑环境变量,打开配置文件 vim /etc/profile 或者 vi /etc/profile。在文件最后添加:
export JAVA_HOME=/usr/local/java/jdk1.8.0_391export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin
-
JAVA_HOME配置成自己的路径
-
按i进行编辑,完成后按esc退出编辑模式,“shift+:”输入“wq!”保存并退出
5.刷新全局配置使生效
cd / #退回到根目录. /etc/profile #环境变量配置刷新
最后检查java版本
java -version

安装Zookeeper
1.java确认安装过了,这里直接开始安装zookeeper。
多一句,自zk3.5.5版本以后,已编译的jar包,尾部有bin,应该使用的是apache-zookeeper-3.8.3-bin.tar.gz。避免报错:“找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain”。(图片来自网络引用)

官网地址:Apache Download Mirrors

2.上传压缩包并解压,参照上文中FinalShell的方式。
cd /usr/local/zookeeper/ tar -zvxf apache-zookeeper-3.8.3-bin.tar.gz

3.重命名zoo_sample.cfg为zoo.cfg
# cp conf/zoo_sample.cfg conf/zoo.cfg
zookeeper的server启动脚本使用的配置文件名称是zoo.cfg,不改名会报错

4.进入bin目录,使用zkServer.sh启动zookeeper,如果报错“-bash: zkServer.sh: command not found”就使用“./zkServer.sh start”
# zkServer.sh start
5.查看启动状态
# zkServer.sh status

6.使用Cli验证
# zkCli.sh

简单操作:
1.创建节点 create /zkTest myData
2.查看节点 get /zkTest 或者 get -s /zkTest
3.删除节点 delete /zkTest
4.退出cli客户端 quit

安装Kafka
1.官网下载压缩包到本地。官网地址:https://kafka.apache.org/downloads

2.根据上文一样,使用远程连接工具FinalShell上传压缩包进行解压。
tar -zxvf kafka_2.12-3.6.0.tgz
3.确认Kafka相关配置(kafka依赖Zookeeper先启动Zookeeper服务)
# cd /usr/local/kafka/kafka_2.12-3.5.0/config/ # vi server.properties

4.进入bin目录使用kafka-server-start.sh通过config配置启动Zookeeper服务
[root@10 bin]# ./kafka-server-start.sh ../config/server.properties
5.重新打开一个SSH连接,通过jps命令查看kafka启动状态
[root@10 kafka_2.12-3.5.0]# jps -l

生产与消费
1.进入kafka的bin目录,先来创建个topic验证下
[root@10 bin]# ./kafka-topics.sh --zookeeper localhost:2181/kafka --create --topic topic-test --replication-factor 3 --partitions 4
报错:Exception in thread "main" joptsimple.UnrecognizedOptionException: zookeeper is not a recognized option

原因是:Kafka 版本过高,命令不存在。
修改命令:
[root@10 bin]# ./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic topic-test --replication-factor 3 --partitions 4
还是报错: ERROR org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 1.

原因是:zookeeper使用的单机部署,只有一个broker。创建topic的命令中分区是4,副本是3,超出了数量限制。
修改命令:
[root@10 bin]# ./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic topic-test --replication-factor 1 --partitions 4
创建topic成功
2.展示topic信息:
[root@10 bin]# ./kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic topic-test

3.进入kafka的bin目录使用自带的kafka-console-consumer.sh脚本订阅主题topic-test。
[root@10 bin]# ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic-test
这个时候topic-test没有存入任何消息,所以脚本还不能消费任何消息。
4.打开一个新的SSH连接,进入kafka的bin目录使用自带的kafka-console-producer.sh脚本发送消息到主题topic-test。
[root@10 bin]# ./kafka-console-producer.sh --broker-list localhost:9092 --topic topic-test
发送“Hello kafka,”"Hello,test"

consumer连接窗口就能消费消息了。

到此,简单的kafka实战案例就结束了。
相关文章:
kafka入门03——简单实战
目录 安装Java 安装Zookeeper 安装Kafka 生产与消费 主要是记录下Kafka的安装配置过程,前置条件需要安装jdk和zookeeper。 安装Java 1.Oracle官网下载对应jdk安装包 官网地址:Java Downloads | Oracle 好人分享了下载需要的oracle账号,…...
工作两年,本地git分支达到了惊人的361个,该怎么快速清理呢?
说在前面 不知道大家平时工作的时候会不会需要经常新建git分支来开发新需求呢?在我这边工作的时候,需求都是以issue的形式来进行开发,每个issue新建一个关联的分支来进行开发,这样可以通过issue看到一个需求完整的开发记录&#x…...
行业追踪,2023-10-24
自动复盘 2023-10-24 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…...
【成功实现】CentOS磁盘扩容
对服务器磁盘扩容操作步骤 查看磁盘信息 fdisk -l 创建新分区 fdisk /dev/sda P n p … t 回车 8e w 重启虚拟机 reboot mkfs.ext4 /dev/sda4 查看磁盘信息 fdisk -l 创建物理卷 pvcreate /dev/sda4 y 创建卷组 并绑定物理卷 vgcreate centos /dev/sda4 创建逻辑…...
为什么亚马逊卖家一定要有独立站?新手低成本快速搭建跨境电商独立站完整图文教程
效果展示 翻译助手 一、购买域名 二、购买主机托管 三、搭建独立网站 四、网站装修设计 五、网站迁移 六、补充 前言:为什么亚马逊卖家一定要有独立站? 先来谈谈为什么亚马逊卖家一定得有独立站,从我一些个人经历来看,有独…...
spring Environment上下文环境参数变量
spring通过Environment对象来存储上下文环境变量信息,即包含当前系统环境变量也包含配置文件配置变量。Environment作为一个bean被存放在容器中,可以在需要的地方进行依赖注入直接使用。 Environment的创建 以AnnotationConfigApplicationContext容器类…...
【数据库】组合查询 UNION
组合查询 概述组合查询UNIONUNION ALLINTERSECTEXCEPT 概述 组合查询允许将两个或多个查询的结果合并成一个单一的结果集。组合查询分类包括 UNION、UNION ALL、INTERSECT 和 EXCEPT 来合并查询结果。下述不同的组合查询; 下述示例中将使用的表:Illino…...
Spring Boot配置 application.yml,根据application.yml选择启动配置
在Spring Boot 中可以选择applicant.properties 作为配置文件,也可以通过在application.yml中进行配置,让Spring Boot根据你的选择进行加载启动配置文件。 这种配置方式,我们通常在实际开发中经常使用,主要为了发布版本和以及开发…...
一文了解GC垃圾回收
一文了解GC垃圾回收 1 判断一个对象为垃圾对象的方法 引用计数法(弃用) 可达性分析算法 是否有指向GC root 的引用链,如果有,不是垃圾对象 ---->GC roo:即rt.jar包中内容 2 内存泄漏与内存溢出区别 泄漏:原本需要被回收的对象&#…...
触摸屏与施耐德PLC之间MODBUS无线通讯
一、 硬件连接 1、PLC通讯接口说明: 2、通讯电缆图: 二、PLC设置 1. 配置端口: 双击串行线路—弹出右侧设置窗口---设置串口通讯参数 2. 添加MODBUS协议。 ① 右击串口线路,选择添加设备: ② 选择现场总线…...
BOA服务器(一):简介
在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以…...
最详细STM32,cubeMX 超声波测距
这篇文章将详细介绍 STM32使用 cubeMX驱动超声波测距 。 文章目录 前言一、超声波模块测距原理 : 二、cubeMX 配置三、实验程序总结 前言 实验材料:STM32F103C8T6开发板, HC-SR04 超声波模块。所需软件:keil5 , cubeM…...
Java实现连接SQL Server解决方案及代码
下面展示了连接SQL Server数据库的整个流程: 加载数据库驱动建立数据库连接执行SQL语句处理结果关闭连接 在连接之前,前提是确保数据库成功的下载,创建,配置好账号密码。 运行成功的代码: import java.sql.*;publi…...
如何用 JMeter 编写性能测试脚本?
Apache JMeter 应该是应用最广泛的性能测试工具。怎么用 JMeter 编写性能测试脚本? 1. 编写 HTTP 性能测试脚本 STEP 1. 添加 HTTP 请求 img STEP 2. 了解配置信息 HTTP 请求各项信息说明(以 JMeter 5.1 为例)。 如下图所示:…...
vue3+vite在线预览pdf
效果图 代码 <template><div class"pdf-preview"><div class"pdf-wrap"><vue-pdf-embed :source"state.source" :style"scale" class"vue-pdf-embed" :page"state.pageNum" /></div…...
Python深度学习实战-基于Sequential方法搭建BP神经网络实现分类任务(附源码和实现效果)
实现功能 第一步:导入模块:import tensorflow as tf 第二步:制定输入网络的训练集和测试集 第三步:搭建网络结构:tf.keras.models.Sequential() 第四步:配置训练方法:model.compile()&#x…...
【前端】Webpack5中Html和CSS的压缩打包
1.Webpack5简介 1.1.Webpack简介 (1)webpack的发展历程 2012.3—webpack(问世) 2014.2—webpack1 2016.12—webpack2 2017.6—webpack3 2018.2—webpack4 2020.10—webpack5(要求node版本10.13) &a…...
postman接收后端返回的文件流并自动下载
不要点send,点send and download,postman接受完文件流会弹出文件保存框让你选择保存路径...
谈谈Net-SNMP软件
Net-SNMP是一个开源的SNMP软件套件,它提供了SNMP代理(snmpd)和SNMP工具(如snmpget、snmpwalk等),可以用于监控和管理网络设备。 Net-SNMP最初是从UC Davis的SNMP软件衍生而来,现在已经成为广泛…...
前端对普通数字数组排序示例
1. arr.sort(fn) // 升序排序arr.sort((a, b) > a - b);// 降序排序arr.sort((a, b) > b - a); 2. 冒泡排序 冒泡排序-升序原理: eg: [1, 6, 7, 9, 10, 3, 4, 5, 2] 1) 先遍历第一遍数组, 前一个数字大于后一个数字, 就交换位置, 最后最大值10放在数组的最后, 此时是…...
通义千问2.5-7B惊艳案例展示:看它如何写出高质量营销文案
通义千问2.5-7B惊艳案例展示:看它如何写出高质量营销文案 1. 模型能力概览 通义千问2.5-7B-Instruct作为阿里最新发布的70亿参数指令微调模型,在文本生成领域展现出令人惊艳的能力。这款"中等体量、全能型、可商用"的模型具有以下核心优势&a…...
别再只盯着神经网络了!聊聊AI的另外两条路:专家系统和强化学习怎么用
当深度学习不是最优解:专家系统与强化学习的实战突围指南 在科技媒体的狂轰滥炸下,神经网络几乎成了人工智能的代名词。但当我们真正将AI技术落地到企业级场景时,往往会发现:那些需要处理小样本数据、要求决策过程透明可解释、或者…...
IMU与GPS融合定位:从Matlab到C++代码实现的EKF融合算法与组合导航松耦合融合详解...
IMU和GPS融合 ekf融合定位 从matlab到c代码实现 组合导航松耦合融合 34页超级详细的文档,对每个函数都进行了非常详细的讲解分析 玩过无人机或者自动驾驶的朋友肯定听过组合导航,这玩意儿说白了就是IMU和GPS的二人转。一个像躁动的少年(IMU高…...
AnimateDiff写实视频生成教程:基于SD1.5+Motion Adapter的全流程实操
AnimateDiff写实视频生成教程:基于SD1.5Motion Adapter的全流程实操 想用AI把文字变成生动的视频?AnimateDiff让你用几句话就能生成专业级的写实视频,无需任何绘画基础,8G显存就能流畅运行。 1. 项目简介:文字直接变视…...
【RAG】基于 RAG 的知识库问答系统设计与实现
基于 RAG 的知识库问答系统设计与实现1. 系统介绍2. 技术与方法3. 核心功能代码片段3.1 知识库创建3.2 知识对话问答3.3 知识库清空4. 系统运行效果截图4.1 文件上传与知识库创建4.2 知识库问答4.3 文件删除与知识库清空总结项目代码地址:https://github.com/AI-Mee…...
【云服务器】在Linux CentOS 7上快速搭建我的世界 Minecraft Fabric 服务器搭建,Fabric 模组详细搭建教程
【云服务器】在Linux CentOS 7上快速搭建我的世界 Minecraft Fabric 服务器搭建,Fabric 模组详细搭建教程一、 服务器介绍二、安装 JDK 21三、搭建 Minecraft 服务端四、本地测试连接五、如何添加模组(mods)六、添加服务,并设置开…...
Redis专题(一)
1. 主从部署主从复制主要⽤于实现数据的冗余备份和读分担,并不是真正的高可用。一个主节点,一个或者多个从节点。同步数据的方向:单向 ,只能主节点到从节点。作用:数据冗余:除了数据持久化之外的一种数据冗…...
天华新能冲刺港股:年营收75亿净利降56% 宁德时代是二股东 裴振华夫妻套现26亿
雷递网 雷建平 4月3日苏州天华新能源科技股份有限公司(简称:“天华新能”)日前递交招股书,准备在港交所上市。天华新能2014年在深交所上市,截至今日午盘,天华新能股价为58.6元,市值为487亿元。一…...
万能引用和完美转发
1、万能引用:模板函数自动推动。#include <iostream> #include <vector> #include <utility>//使用std::move和std::forward等函数需要包含这个头文件using namespace std;template<typename T> void fun(T&& a)//这里就是一个万能…...
OpenClaw+Phi-3-mini-128k-instruct:中文长文本处理专项优化
OpenClawPhi-3-mini-128k-instruct:中文长文本处理专项优化 1. 为什么需要中文长文本专项优化? 在日常工作中,我经常需要处理各种中文长文本材料——从几十页的商业合同到上百页的学术论文。这些文档不仅篇幅长,还包含大量专业术…...
