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,则需要进行一些修改,本文就来详述如何进…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
