kafka集群搭建
1.本次搭建涉及3台centos7主机,防火墙与selinux服务均关闭
2.主机参数如下表所示
| name | IP | port | service |
| A | 10.1.60.112 | 2128、2888、3888、9092 | kafka、zookeeper |
| B | 10.1.60.114 | 2128、2888、3888、9092 | kafka、zookeeper |
| C | 10.1.60.115 | 2128、2888、3888、9092 | kafka、zookeeper |
3.部署zookeeper高可用集群服务
要求不高的话其实可以不单独部署也行,kafka中也有带zookeeper,如何配置也会在压测文章中说明一下 ,因为压测需要一台kafka机器执行脚本
参考:zookeeper集群搭建_Apex Predator的博客-CSDN博客
4.创建kafka存放目录(三台主机均需执行下面每个步骤的操作命令)
mkdir /etc/kafka
5.从kafka官网下载安装包
我这里下载了3.3.1版本的kafka,放到kafka目录中,需要其它版本可以从下面的地址里自行下载
下载地址:Apache Kafka
6.解压安装包并更改名称
tar -zxvf /etc/kafka/kafka_2.12-3.3.1.tgz
mv /etc/kafka/kafka_2.12-3.3.1 /etc/kafka/kafka
![]()
7. 编辑kafka配置文件(三个节点只有配置文件的前三项配置不一样,根据注释配置即可)
vi /etc/kafka/kafka/conf/server.properties
broker.id=0 #注意每个kafka节点的配置文件的此项配置不能相同,必须配置不同的id,可以随意配置数字
listeners=PLAINTEXT://10.1.60.112:9092 #ip地址填写每个节点主机对应的ip地址,这个参数指定了 Kafka 服务器监听的地址和端口
advertised.listeners=PLAINTEXT://10.1.60.112:9092 #ip地址填写每个节点主机对应的ip地址,这个参数指定了 Kafka 服务器向外部客户端公开的地址和端口。由于 Kafka 可能运行在一个内部网络中,客户端无法直接访问 Kafka 服务器的地址和端口,因此需要将 Kafka 服务器的地址和端口映射到外部网络中的一个地址和端口
num.network.threads=3 #网络处理线程数,一般有几个节点就配置几个线程
num.io.threads=4 #I/O处理的线程数,根据cpu核心配置,一般配置核心数量的2-3倍
socket.send.buffer.bytes=102400 #这个参数指定了 Kafka 生产者和服务器之间网络 socket 连接的发送缓冲区大小(以字节为单位),如果生产者发送消息的速度比服务器处理消息的速度快,那么这个缓冲区可能会被填满,从而导致生产者阻塞等待缓冲区空间,适当增加能提高性能,需要根据消息大小和并发量等因素配置
socket.receive.buffer.bytes=102400 #这个参数指定了 Kafka 生产者和服务器之间网络 socket 连接的接收缓冲区大小(以字节为单位)。如果服务器发送消息的速度比生产者处理消息的速度快,那么这个缓冲区可能会被填满,从而导致生产者无法及时接收消息,适当增加能提高性能
socket.request.max.bytes=104857600 #个参数指定了 Kafka 生产者和服务器之间网络 socket 连接的最大请求大小(以字节为单位)。如果生产者发送的请求超过这个大小,那么服务器可能会拒绝处理这个请求
log.dirs=/etc/kafka/kafka/log #消息持久化的存放目录,所有tpoic的分区数据文件都在此目录下
num.recovery.threads.per.data.dir=1 #数据目录用来日志恢复的线程数目,默认为1
num.partitions=1 #创建topic时的默认分区数,默认为1
offsets.topic.replication.factor=3 #kafka集群中自动创建名称为__consumer_offsets的topic的副本数量,默认为1,配置为1的话集群不能高可用,一个节点挂掉会导致整个集群不可用
log.retention.hours=72 #消息的最大持久化时间,默认为168小时,超过后自动删除
zookeeper.connect=10.1.60.112:2181,10.1.60.114:2181,10.1.60.115:2181 #设置zookeeper集群的连接端口
8.创建配置文件中的数据存放目录
mkdir /etc/kafka/kafka/log
9.启动kafka服务
/etc/kafka/kafka/bin/kafka-server-start.sh -daemon /etc/kafka/kafka/config/server.properties
启动后可以查看一下日志是否有错误输出
tail -f /etc/kafka/kafka/logs/kafkaServer.out
查看kafka端口是否正常监听
netstat -tlpn |grep 9092

查看kafka是否存在kafka服务
ps -ef |grep kafka

10.测试
创建一个topic(kafka为集群模式,在任意节点下执行即可)
/etc/kafka/kafka/bin/kafka-topics.sh --create --bootstrap-server 10.1.60.112:9092 --replication-factor 3 --partitions 6 --topic test
查看创建的topic信息
/etc/kafka/kafka/bin/kafka-topics.sh --describe --bootstrap-server 10.1.60.114:9092 --topic test
可以看到创建的topic分区将leader平均的分配到了不同的节点上,每个分区的副本也在每个节点都有存在
也可以通过zookeeper查看(zookeeper为集群模式,在任意节点下执行即可)
/etc/zookeeper/zookeeper/bin/zkCli.sh -server 10.1.60.112:2181
get /brokers/topics/test
查看每个节点的log数据目录下,也都生成了topic分区的数据目录
ls /etc/kafka/kafka/log

相关文章:
kafka集群搭建
1.本次搭建涉及3台centos7主机,防火墙与selinux服务均关闭 2.主机参数如下表所示 nameIPportserviceA10.1.60.1122128、2888、3888、9092kafka、zookeeperB10.1.60.1142128、2888、3888、9092kafka、zookeeperC10.1.60.1152128、2888、3888、9092kafka、zookeeper…...
【UE】将存档的值显示在控件蓝图上
上一篇博客(【UE】保存游戏的demo)已经实现了存档功能,本篇博客介绍的是如何将存档的值显示在控件蓝图上。 效果 可以看到我们存档的值显示在文本控件上 步骤 1. 新建一个蓝图类,父类为“HUD” 命名为“NewHudClassBP” 2. 在世…...
考研数据结构代码篇
文章目录 数据结构线性表基本操作顺序表的定义顺序表基本操作 单纯上传一下数据结构中可能考察的代码,规格很乱,过几天改规格,提前水一篇 数据结构 线性表 基本操作 InitList(&L) // 初始化表。构造一个空的线性表L࿰…...
css-设置单行文本溢出省略号,使用overflow:hidden属性之后的出现的问题几解决办法。
1 设置单行文本溢出后出现省略号 必要:需要设置固定宽度,不允许换行 width: 200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; 2 设置N行文本…...
js的方法
字符串方法: substring(startIndex, endIndex):从指定的字符串中提取字符并返回新字符串,不包括结束位置的字符。substr(startIndex, length):从指定字符串中提取指定长度的字符并返回新字符串。indexOf(searchValue, startIndex…...
[NSSRound#11] 密码学个人赛
这个比赛没有参加,跟别人要了些数据跑一下,其实交互这东西基本上一样,跑通就行. ez_enc 这题有点骗人,给了一堆AB串,一开始以为是培根密码,结果出来很乱.再看长度:192 应该就是01替换 a ABAABBBAABABAABBABABAABBABAAAABBABABABAAABAAABBAABBBBABBABBABBABABABAABBAABBABAA…...
玩转树莓派四、修改国内源提高更新速度
树莓派的软件包源默认连接的是官方源,速度不是很快,我们可以更换为第三方源以提高下载速度和体验。 首先通过命令 lsb_release -a 获取到版本号为 bullseye piRpi4B2G:/etc/apt $ lsb_release -a No LSB modules are available. Distributor ID: Debian Descripti…...
苹果手机网速慢怎么办?这些方法帮你解决网速慢的问题!
案例:苹果手机数据网络信号差,怎么解决? 【家人们,苹果手机不知咋回事,网速很慢,想要在某宝买个东西都得卡个半天。哭了!有没有什么方法解决?】 苹果手机作为一款高端智能手机&…...
linux_时序竞态-pause函数-sigsuspend函数-异步I/O-可重入函数-不可重入函数
接上一篇:linux_信号捕捉-signal函数-sigaction函数-sigaction结构体 今天来分享时序竞态的知识,关于时序竞态的问题,肯定会和cpu有关,也会学习两个函数,pause函数,sigsuspend函数, 也会分享什么…...
Tomcat的负载均衡和动静分离
---------------------NginxTomcat负载均衡、动静分离------------------------- Nginx 服务器:192.168.80.10:80 Tomcat服务器1:192.168.80.100:80 Tomcat服务器2:192.168.80.101:8080 192.168.80.101:8081 1.部署Nginx 负载均衡器 system…...
C++每日一练:最长递增区间 阿波罗的魔力宝石 投篮
文章目录 前言一、最长递增区间二、阿波罗的魔力宝石三、投篮总结 前言 今天的题太简单,甚至 “最长递增区间” 和 “投篮” 就是一个问题。实在没事干,也给做了!直接上代码算了… 提示:以下是本篇文章正文内容 一、最长递增区间…...
HCIP之VLAN
目录 网络的三层架构 接入层 无线的缺陷: 上网用户数量增多,网络卡顿的原因 CSMA/CD --- 载波侦听多路访问/冲突检测 CSMA/CA --- 载波侦听多路访问/冲突避免 无线网络没有使用冲突检测技术的原因 汇聚层 连接两条线路的原因 核心层 VLAN VLAN配…...
1686_MATLAB处理Excel文件
全部学习汇总: GreyZhang/g_matlab: MATLAB once used to be my daily tool. After many years when I go back and read my old learning notes I felt maybe I still need it in the future. So, start this repo to keep some of my old learning notes servral …...
亿发软件:中大型仓库进出货管理系统解决方案,定制软件让仓储作业高效便捷
中大型仓库出入库管理是传统厂家供应链管理流程的重要部分,直接关乎货物在仓库当中存储的安全,和员工工作的效率。一旦仓库管理当中出现了疏漏,那么货物的信息数据就会发生变动,导致实际与账目不符。人工带来的低效与不可控是传统…...
SQL Server基础 第二章 表结构管理
目录 一、数据类型 1,字符类数据类型 2,数值型数据类型 3,日期/时间型数据类型 二、主键(Primary key) 三、默认值 四、唯一键(Unique) 五、自增标识 六、约束 七、外键 一、数据类型 …...
华为OD机试真题(Java),最小步骤数(100%通过+复盘思路)
一、题目描述 一个正整数数组 设为nums,最大为100个成员,求从第一个成员开始正好走到数组最后一个成员所使用的最小步骤数。 要求: 第一步 必须从第一元素起 且 1<第一步步长<len/2 (len为数组长度);从第二步开始只能以所…...
3分钟搞懂:JavaScript 和 ECMAScript
JavaScript 和 ECMAScript ECMAScript 是 JavaScript 语言的国际标准,JavaScript 是 ECMAScript 的一种实现(Adobe ActionScript 和 JScript 同样实现了 ECMAScript)。 ECMAScript 是欧洲计算机制造商协会 ECMA(European Comput…...
Bito:一款 iead/webstorm 神级插件,由 ChatGPT 团队开发,堪称辅助神器
前言: idea(后端),webstorm(前端)中可以用的一款辅助插件:Bito 个人尝试体验效果: 优点是:可以自动完成一些场景代码。 缺点:太慢了,大部分时间一直转圈 摘取文档: 什么是Bito&…...
[ 云原生 | Docker ] 构建高可用性的 SQL Server:Docker 容器下的主从同步实现指南
文章目录 一、前言二、SQL Server 主从同步的原理介绍三、具体的搭建过程3.1 准备工作3.1.1 卸载旧版本(如果有,可选,非必须)3.1.2 安装 Docker3.1.3 验证本地 Docker 是否安装成功 3.2 创建 Docker 网络3.3 创建主从节点的 SQL S…...
Binary Utilities非默认目录构建和安装
在AppArmor零知识学习六、源码构建(3)中,详细介绍了libapparmor的构建步骤,但那完全使用的是官网给出的默认参数。如果需要将目标文件生成到指定目录而非默认的/usr,则需要进行一些修改,本文就来详述如何进…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
