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,则需要进行一些修改,本文就来详述如何进…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
RabbitMQ 各类交换机
为什么要用交换机? 交换机用来路由消息。如果直发队列,这个消息就被处理消失了,那别的队列也需要这个消息怎么办?那就要用到交换机 交换机类型 1,fanout:广播 特点 广播所有消息:将消息…...
RLHF vs RLVR:对齐学习中的两种强化方式详解
在语言模型对齐(alignment)中,强化学习(RL)是一种重要的策略。而其中两种典型形式——RLHF(Reinforcement Learning with Human Feedback) 与 RLVR(Reinforcement Learning with Ver…...
