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,则需要进行一些修改,本文就来详述如何进…...
RVC模型GitHub开源项目实战:从Fork到贡献代码
RVC模型GitHub开源项目实战:从Fork到贡献代码 想为热门的RVC(Retrieval-based Voice Conversion)项目贡献一份力量,却不知道从何下手?看着GitHub上那些活跃的Pull Request,是不是既羡慕又有点无从下手的感…...
从Simulink仿真到硬件实现:DAB双有源全桥的PID参数‘手感’如何传递?
从虚拟到现实:DAB双有源全桥PID参数迁移实战指南 当你在Simulink中看到完美的DAB动态响应波形时,那种成就感就像解开一道复杂的数学题。但现实往往给你当头一棒——同样的PID参数烧录到DSP后,示波器上的波形却像喝醉了一样东倒西歪。这不是你…...
Linux dd命令的深度解析与应用实践
dd 命令概述命令起源与定位dd 命令最早出现在 UNIX 操作系统中,后被移植到 Linux 平台。它不同于普通的文件复制命令(如 cp),dd 以底层块设备的方式操作数据,可以精确控制数据流的每一个细节。这种特性使其成为&#x…...
SEO网站推广的长期效果如何_SEO网站推广对网站优化有什么要求
SEO网站推广的长期效果如何 在当今互联网时代,SEO网站推广已经成为提升网站流量和品牌知名度的关键手段。SEO,即搜索引擎优化,通过优化网站结构、内容和外部链接,提高网站在搜索引擎结果页面(SERP)中的排名…...
华人辍学博士揪出Claude Code 51万行源码泄露,官方请求下架超8000个GitHub代码库并回应:这次是人为失误,无人被解雇!
整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 这两天 AI 圈的热点话题,莫过于 Claude Code 51 万行核心源码意外泄露事件。而这场风波的起点,并非什么高明的黑客攻击、也没有复杂的攻击路径,而是一位安全研究员的…...
基于单片机的温控风扇(有完整资料)
资料查找方式:特纳斯电子(电子校园网):搜索下面编号即可编号:T4272204C设计简介:本设计是基于单片机的语音控制温控风扇,主要实现以下功能:1、可通过LCD1602显示温度和档位ÿ…...
基于深度学习的水下海洋生物识别(YOLOv12/v11/v8/v5模型+数据集)(源码+lw+部署文档+讲解等)
摘要随着全球海洋生态环境的变化,水下海洋生物的监测与识别变得日益重要。基于深度学习的水下生物识别技术,尤其是YOLO(You Only Look Once)系列目标检测模型,因其高效性和准确性而受到广泛关注。本文提出了一种基于YO…...
AI Agent 与传统AI区别:从被动响应到主动执行
AI Agent 与传统AI区别:从被动响应到主动执行📝 本章学习目标:本章是入门认知部分,帮助零基础读者建立对AI Agent的初步认知。通过本章学习,你将全面掌握"AI Agent 与传统AI区别:从被动响应到主动执行…...
[MediaForge] 音频技术深度解析(五):常见问题与快速解决
目录 问题排查方法论 音频采集常见问题 音频重采样常见问题 音频编码常见问题 音频封装常见问题 端到端完整流程问题 快速定位工具集 AI 辅助排查指南 1. 问题排查方法论 1.1 通用排查流程 ┌───────────────────────────────────────…...
互联网大厂Java求职面试:三轮技术问答与详细解析(涵盖Spring Boot、微服务、数据库ORM等)
互联网大厂Java求职面试:三轮技术问答与详细解析 文章标签 Java,Spring Boot,微服务,面试,Jakarta EE,JVM,Hibernate,JUnit,Maven,Redis,Kubernetes文章简述 本文以严肃的面试官与风趣的水货程序员谢飞机之间的对话形式,模拟互联网大厂Java求职面试的三轮…...
