当前位置: 首页 > news >正文

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&#xf…...

类图 UML从入门到放弃系列之二

1.劝退说明(开个玩笑) UML包含有许多小组件、修饰符以及其他小巧复杂的东西。UML的内容相当庞大,以至于你可以花大量的时间把自己修成一个UML语言律师,并能够完成所有律师能够完成的工作:编写出所有人都无法理解的文档。现在流行的敏捷开发倡…...

诊断用抗原抗体——博迈伦

抗原抗体诊断是一种常见的临床诊断方法,它通过检测人体内特定抗原或抗体的存在来确定某种疾病或感染的存在与否。这种诊断方法可以用于许多不同的疾病和感染的检测,如传染病、自身免疫病、肿瘤等。 抗原抗体诊断的原理是基于抗原与抗体之间的特异性反应。…...

156 - Ananagrams (UVA)

题目链接如下&#xff1a; Online Judge 我的代码如下&#xff1a; #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官方新的脚手架工具&#xff0c;底层切换到了 vite &#xff08;下一代前端工具链&#xff09;&#xff0c;为开发提供极速响应 2.2 使用create-vue创建项目 前置条件 - 已安装16.0或更高版…...

上机实验二 设计单循环链表 西安石油大学数据结构

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

小谈设计模式(28)—解释器模式

小谈设计模式&#xff08;28&#xff09;—解释器模式 专栏介绍专栏地址专栏介绍 解释器模式角色分析抽象表达式&#xff08;Abstract Expression&#xff09;终结符表达式&#xff08;Terminal Expression&#xff09;非终结符表达式&#xff08;Non-terminal Expression&…...

Access denied for user ‘root‘@‘xxx‘ (using password: YES)

Access denied for user rootxxx (using password: YES) 这表示MySQL服务端拒绝来自xxx主机的root用户登录&#xff0c;尽管我检查了一下&#xff0c;root的用户名和密码都没错&#xff0c;还是拒绝。 解决方案&#xff1a; select user,host from mysql.user; 执行发现&am…...

对象与成员函数指针 function+bind

functionbind的理解 function模板类的构造函数&#xff0c;把对象与成员函数绑定&#xff0c;重载了&#xff08;&#xff09;&#xff0c;利用对象调用成员函数 bind模板函数&#xff0c;把对象与成员函数绑定&#xff0c;返回function对象&#xff0c;成员函数传参代码链接点…...

如何在 PyTorch 中冻结模型权重以进行迁移学习:分步教程

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

代码随想录算法训练营第六十二、六十三天 | 单调栈 part 2 | 503.下一个更大元素II 、42. 接雨水、84.柱状图中最大的矩形

目录 503.下一个更大元素II思路代码 42. 接雨水思路一 双指针思路二 单调栈代码 84.柱状图中最大的矩形思路一 双指针思路二 单调栈代码 503.下一个更大元素II Leetcode 思路 将数组乘2来遍历即可&#xff0c;就是加长版的每日温度。 但是处理起来会有细节&#xff0c;如果…...

c#设计模式-行为型模式 之 迭代器模式

&#x1f680;简介 提供一个对象来顺序访问聚合对象中的一系列数据&#xff0c;而不暴露聚合对象的内部表示。 迭代器模式主要包含以下角色&#xff1a; 抽象聚合&#xff08;Aggregate&#xff09;角色&#xff1a;定义存储、添加、删除聚合元素以及创建迭代器对象的接口…...

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研电赛作品征集活动&#xff0c;欢迎同学们投稿&#xff0c;获取作品传播推广&#xff0c;并有丰富礼品哦~ 团队介绍 参赛单位&#xff1a;上海理工大学 参赛队伍&#xff1a;Dream explorers 参赛队员&#xff1a;吕哲 李天皓 赵安杰 项目意义…...

minio桶命名规则

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

【教学类-35-04】学号+姓名+班级(中3班)学号字帖(A4竖版2份 竖版长条)

图片展示: 背景需求: 2022年9-2023年1月我去过小3班带班&#xff0c;但是没有在这个班级投放过学具&#xff0c;本周五是我在本学期第一次带中3班&#xff0c;所以提供了一套学号描字帖。先让我把孩子的名字和脸混个眼熟。 之前试过一页两套名字的纸张切割方法有&#xff1a;…...

什么叫AI自动直播?

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

LLaMA Adapter和LLaMA Adapter V2

LLaMA Adapter论文地址&#xff1a; https://arxiv.org/pdf/2303.16199.pdf LLaMA Adapter V2论文地址&#xff1a; https://arxiv.org/pdf/2304.15010.pdf LLaMA Adapter效果展示地址&#xff1a; LLaMA Adapter 双语多模态通用模型 为你写诗 - 知乎 LLaMA Adapter GitH…...

Pixel Epic动态卷轴技术揭秘:TextIteratorStreamer流式输出实现原理与调优

Pixel Epic动态卷轴技术揭秘&#xff1a;TextIteratorStreamer流式输出实现原理与调优 1. 引言&#xff1a;像素史诗的独特体验 Pixel Epic&#xff08;像素史诗&#xff09;作为一款研究报告辅助终端&#xff0c;最引人注目的特点莫过于其独特的"动态卷轴"输出效果…...

Maxwell Fields Calculator双模式切换指南:堆栈与代数表达式输入实战解析

Maxwell Fields Calculator双模式切换指南&#xff1a;堆栈与代数表达式输入实战解析 在电磁仿真领域&#xff0c;Maxwell Fields Calculator一直是工程师进行后处理分析的利器。随着2025 R1版本的推出&#xff0c;一项革命性的功能——双模式表达式输入&#xff0c;彻底改变了…...

DAMO-YOLO智能视觉系统作品集:多场景零售货架检测效果惊艳展示

DAMO-YOLO智能视觉系统作品集&#xff1a;多场景零售货架检测效果惊艳展示 1. 零售视觉检测的新标杆 走进现代零售空间&#xff0c;商品陈列的艺术背后隐藏着复杂的运营挑战。传统的人工巡检方式已经难以满足快节奏零售环境的需求&#xff0c;这正是DAMO-YOLO智能视觉系统大放…...

Transformer位置编码避坑指南:手把手教你用RoPE解决长文本外推难题(附Torch复现)

Transformer长文本处理实战&#xff1a;RoPE位置编码的工程化解决方案 在构建现代NLP系统时&#xff0c;处理长文本序列一直是Transformer架构面临的重大挑战。当序列长度超过模型预训练时的最大位置编码范围时&#xff0c;传统方法的性能会显著下降。这种现象在构建聊天机器人…...

突破网盘限制的高效工具:解锁全速下载与无缝分享的实战指南

突破网盘限制的高效工具&#xff1a;解锁全速下载与无缝分享的实战指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 /…...

北京联通IPTV组播配置实战:OpenWRT与udpxy的完美结合

1. 为什么需要OpenWRTudpxy方案 家里换了新电视后&#xff0c;突然想把闲置的北京联通IPTV利用起来。传统机顶盒接线麻烦不说&#xff0c;还占用了宝贵的HDMI接口。经过实测&#xff0c;用OpenWRT路由器配合udpxy插件转换组播信号&#xff0c;才是真正的"一劳永逸"解…...

如何用QtScrcpy实现跨平台Android设备高效投屏与控制

如何用QtScrcpy实现跨平台Android设备高效投屏与控制 【免费下载链接】QtScrcpy Android实时投屏软件&#xff0c;此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限 项目地址: https://gitcode.com/barry-ran/QtScrcpy 在数字化…...

LightRAG架构解析:从图索引到双层检索的工程实现

1. LightRAG架构概览&#xff1a;为什么需要双层检索&#xff1f; 在传统RAG系统中&#xff0c;我们常常遇到两个核心痛点&#xff1a;信息碎片化和上下文缺失。想象一下&#xff0c;当你问"电动汽车的普及对城市空气质量有何影响"时&#xff0c;传统系统可能分别检索…...

TradingAgents-CN智能交易系统:3种部署方案让你5分钟开启AI投资分析

TradingAgents-CN智能交易系统&#xff1a;3种部署方案让你5分钟开启AI投资分析 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN 还在为复杂的金融…...

基于机器学习的驾驶疲劳检测,应该如何入门?

基于机器学习的驾驶疲劳检测可以说是本科/硕士毕设中性价比很高的一个题目&#xff1a;它既有充足的开源参考资料&#xff0c;又容易做出可视化的Demo&#xff0c;答辩时也比较讨喜。 我来帮你把这个看似庞大的项目拆解成流水线。 你不需要去手搓底层的神经网络&#xff0c;只…...