Linux:【Kafka四】集群介绍与单机搭建
目录
环境简介
一、搭建kafka集群
1.1、复制出两个kafka的配置文件
1.2、修改配置文件中的如下属性
二、启动kafka集群
三、可校验kafka三个节点是否均启动成功
四、查看集群中主题的分区和副本
4.1、新建一个包含了分区和副本的主题
4.2、查看该主题的详细信息
五、分区、副本的二次解释
环境简介
Linux内核:Centos7
Kafka版本:3.5.1
Kafka的安装目录:/usr/local/kafka_2.12-3.5.1
Kafka的bin文件夹的目录:/usr/local/kafka_2.12-3.5.1/bin
Kafka的配置文件夹的目录: /usr/local/kafka_2.12-3.5.1/conf
一、搭建kafka集群
因为资源有限,本人在学习时,是在同一台机器上搭建的kafka集群,操作如下:
1.1、复制出两个kafka的配置文件
server2.properties,server2.properties,如下图:
1.2、修改配置文件中的如下属性
broker.id=0、1、2 -- 标识每个启动的kafka实例的编号
listeners=PLAINTEXT://${broker所在地址IP}:${当前kafka欲使用的端口号},如listeners=PLAINTEXT://192.168.154.128:9092或者9093或者9094
log.dir= **
举个实例:
server.properties中:
broker.id=0listeners=PLAINTEXT://192.168.154.128:9092 -- 192.168.154.128是kafka所在服务器的IPlog.dirs=/usr/local/kafka_2.12-3.5.1/log
server2.propetties中
broker.id=1listeners=PLAINTEXT://192.168.154.128:9093 -- 192.168.154.128是kafka所在服务器的IPlog.dirs=/usr/local/kafka_2.12-3.5.1/log2
server3.properties中
broker.id=2listeners=PLAINTEXT://192.168.154.128:9094 -- 192.168.154.128是kafka所在服务器的IPlog.dirs=/usr/local/kafka_2.12-3.5.1/log3
二、启动kafka集群
挨个启动即可(切换到kafka的根路径下执行):
[root@localhost kafka_2.12-3.5.1]# cd /usr/local/kafka_2.12-3.5.1/[root@localhost kafka_2.12-3.5.1]# ./kafka-server-start.sh -daemon ./server.properties[root@localhost kafka_2.12-3.5.1]# ./kafka-server-start.sh -daemon ./server2.properties[root@localhost kafka_2.12-3.5.1]# ./kafka-server-start.sh -daemon ./server3.properties
三、可校验kafka三个节点是否均启动成功
cd到zookeeper中查看
[root@localhost bin]# cd /usr/local/apache-zookeeper-3.8.2/bin[root@localhost bin]# ./zkCli.sh[zk: localhost:2181(CONNECTED) 0] ls /[admin, brokers, cluster, config, consumers, controller, controller_epoch, feature, isr_change_notification, latest_producer_id_block, log_dir_event_notification, zookeeper][zk: localhost:2181(CONNECTED) 2] ls /brokers[ids, seqid, topics][zk: localhost:2181(CONNECTED) 3] ls /brokers/ids[0,1,2] //说明启动了三个节点[zk: localhost:2181(CONNECTED) 4]
四、查看集群中主题的分区和副本
4.1、新建一个包含了分区和副本的主题
[root@localhost kafka_2.12-3.5.1]# ./bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --replication-factor 3 --partitions 2 --topic topic0921
4.2、查看该主题的详细信息
[root@localhost kafka_2.12-3.5.1]# ./bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic topic0921
会展示如下结果:
说明:
Topic: 主题名称
Partition:分区编号
Leader: 分区的Leader的broker编号。副本里面的Leard来接收消息,其他follower通过poll的形式同步消息
Replicas: 当前分区的副本所在哪些broker实例上(对应kafka实例配置文件中的kroker.id)
Isr: 可以同步的broker节点 和 已同步的broker节点。换句话说,存放的是:当前分区的副本中:Leader节点、以及可正常同步数据,且已经同步了数据的follower节点
五、分区、副本的二次解释
基础概念的讲解,请参考:Linux:【Kafka三】组件介绍
下面画图解释:
分区:相当于是对消息的物理分割,一个消息,只能存在于一个分区中。多个分区可理解为消息的多线程任务。
副本:每个分区都可以在集团的broker中创建副本,用以对分区中消息的备份。作为副本的broker上,在日志文件中,会同时产生备份了分区的文件:
cd到broker1的日志文件中
[root@localhost log2]# cd /usr/local/kafka_2.12-3.5.1/log2/[root@localhost log2]# ll-rw-r--r--. 1 root root 0 9月 19 18:21 cleaner-offset-checkpoint
-rw-r--r--. 1 root root 4 10月 13 10:54 log-start-offset-checkpoint
-rw-r--r--. 1 root root 88 9月 21 17:21 meta.properties
-rw-r--r--. 1 root root 32 10月 13 10:54 recovery-point-offset-checkpoint
-rw-r--r--. 1 root root 32 10月 13 10:54 replication-offset-checkpoint
drwxr-xr-x. 2 root root 167 9月 21 17:27 topic0921-0 # 主题第一个分区的备份文件
drwxr-xr-x. 2 root root 167 9月 21 17:27 topic0921-1 # 主题第二个分区的备份文件
相关文章:

Linux:【Kafka四】集群介绍与单机搭建
目录 环境简介 一、搭建kafka集群 1.1、复制出两个kafka的配置文件 1.2、修改配置文件中的如下属性 二、启动kafka集群 三、可校验kafka三个节点是否均启动成功 四、查看集群中主题的分区和副本 4.1、新建一个包含了分区和副本的主题 4.2、查看该主题的详细信息 五、…...
代码随想录算法训练营Day52|动态规划11
代码随想录算法训练营Day52|动态规划11 文章目录 代码随想录算法训练营Day52|动态规划11一、123.买卖股票的最佳时机III二、188.买卖股票的最佳时机IV 买卖股票 难 一、123.买卖股票的最佳时机III class Solution {public int maxProfit(int[] prices) {int[] dp new int[4]…...

Android渲染系列之原理概述篇
屏幕硬件 渲染离不开屏幕,Android中的屏幕碎片化比较严重,尺寸大小不一,材质也是屏幕重要的因素。 目前智能手机主流的屏幕可分为两大类即液晶显示器; LCD (Liquid Crystal Display) 液晶显示器OLED (Organic Light Emitting Diode…...

类图 UML从入门到放弃系列之二
1.劝退说明(开个玩笑) UML包含有许多小组件、修饰符以及其他小巧复杂的东西。UML的内容相当庞大,以至于你可以花大量的时间把自己修成一个UML语言律师,并能够完成所有律师能够完成的工作:编写出所有人都无法理解的文档。现在流行的敏捷开发倡…...
诊断用抗原抗体——博迈伦
抗原抗体诊断是一种常见的临床诊断方法,它通过检测人体内特定抗原或抗体的存在来确定某种疾病或感染的存在与否。这种诊断方法可以用于许多不同的疾病和感染的检测,如传染病、自身免疫病、肿瘤等。 抗原抗体诊断的原理是基于抗原与抗体之间的特异性反应。…...
156 - Ananagrams (UVA)
题目链接如下: Online Judge 我的代码如下: #include <iostream> #include <string> #include <vector> #include <map> #include <algorithm> // #define debugint main(){#ifdef debugfreopen("0.txt", &q…...

vue3入门
一. Vue3的优势 二. 使用create-vue搭建Vue3项目 2.1 认识create-vue create-vue是Vue官方新的脚手架工具,底层切换到了 vite (下一代前端工具链),为开发提供极速响应 2.2 使用create-vue创建项目 前置条件 - 已安装16.0或更高版…...

上机实验二 设计单循环链表 西安石油大学数据结构
实验名称:设计单循环链表 (1)实验目的:掌握线性表的链式存储结构;掌握单循环链表及其基本操作的实现。 (2)主要内容:实现单循环链表的初始化、求数据元素个数、插入、删除、取数据元素等操作;用插入法建立带头结点的单循环链表;设计一个测试主函数验证…...

小谈设计模式(28)—解释器模式
小谈设计模式(28)—解释器模式 专栏介绍专栏地址专栏介绍 解释器模式角色分析抽象表达式(Abstract Expression)终结符表达式(Terminal Expression)非终结符表达式(Non-terminal Expression&…...
Access denied for user ‘root‘@‘xxx‘ (using password: YES)
Access denied for user rootxxx (using password: YES) 这表示MySQL服务端拒绝来自xxx主机的root用户登录,尽管我检查了一下,root的用户名和密码都没错,还是拒绝。 解决方案: select user,host from mysql.user; 执行发现&am…...
对象与成员函数指针 function+bind
functionbind的理解 function模板类的构造函数,把对象与成员函数绑定,重载了(),利用对象调用成员函数 bind模板函数,把对象与成员函数绑定,返回function对象,成员函数传参代码链接点…...

如何在 PyTorch 中冻结模型权重以进行迁移学习:分步教程
一、说明 迁移学习是一种机器学习技术,其中预先训练的模型适用于新的但类似的问题。迁移学习的关键步骤之一是能够冻结预训练模型的层,以便在训练期间仅更新网络的某些部分。当您想要保留预训练模型已经学习的特征时,冻结至关重要。在本教程中…...

代码随想录算法训练营第六十二、六十三天 | 单调栈 part 2 | 503.下一个更大元素II 、42. 接雨水、84.柱状图中最大的矩形
目录 503.下一个更大元素II思路代码 42. 接雨水思路一 双指针思路二 单调栈代码 84.柱状图中最大的矩形思路一 双指针思路二 单调栈代码 503.下一个更大元素II Leetcode 思路 将数组乘2来遍历即可,就是加长版的每日温度。 但是处理起来会有细节,如果…...

c#设计模式-行为型模式 之 迭代器模式
🚀简介 提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。 迭代器模式主要包含以下角色: 抽象聚合(Aggregate)角色:定义存储、添加、删除聚合元素以及创建迭代器对象的接口…...

SSM整合RabbitMQ,Spring4.x整合RabbitMQ
SSM整合RabbitMQ目录 前言版本实现目录参考pom.xml依赖rabbitmq.properties配置文件spring-rabbitmq.xmlspring-mvc.xml或applicationContext.xmlrabbitmq目录下MessageConsumer.javaMessageConsumer2.javaMessageProducer.javaMessageConstant.java 测试调用 扩展消息重发方式…...

【2023研电赛】商业计划书赛道上海市一等奖:基于双矢量优化谐波预测控制的MMC-PET光伏储能系统
该作品参与极术社区组织的2023研电赛作品征集活动,欢迎同学们投稿,获取作品传播推广,并有丰富礼品哦~ 团队介绍 参赛单位:上海理工大学 参赛队伍:Dream explorers 参赛队员:吕哲 李天皓 赵安杰 项目意义…...

minio桶命名规则
一、背景 今天做项目需要上传图片到minio,上传失败,查看错误是桶未创建成功。 minio桶的创建具有自己的命名规则,不符合则无法创建。 二、命名规则 1、存储桶名称的长度必须介于 3(最小)到 63(最大&…...

【教学类-35-04】学号+姓名+班级(中3班)学号字帖(A4竖版2份 竖版长条)
图片展示: 背景需求: 2022年9-2023年1月我去过小3班带班,但是没有在这个班级投放过学具,本周五是我在本学期第一次带中3班,所以提供了一套学号描字帖。先让我把孩子的名字和脸混个眼熟。 之前试过一页两套名字的纸张切割方法有:…...

什么叫AI自动直播?
AI自动直播是一种使用人工智能技术进行自动直播的程序或系统。 它可以自动录制视频,并在直播平台上进行展示,以吸引观众并提高品牌知名度。AI自动直播通常需要使用特定的软件或平台来实现,并且需要具备一定的编程和人工智能知识。 AI自动直…...

LLaMA Adapter和LLaMA Adapter V2
LLaMA Adapter论文地址: https://arxiv.org/pdf/2303.16199.pdf LLaMA Adapter V2论文地址: https://arxiv.org/pdf/2304.15010.pdf LLaMA Adapter效果展示地址: LLaMA Adapter 双语多模态通用模型 为你写诗 - 知乎 LLaMA Adapter GitH…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
全面解析各类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…...

python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...