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

2-kafka集群环境搭建

本文介绍kafka集群环境的搭建,我利用三个虚拟机搭建。文中我一步步演示了过程中可能会碰到的问题,在文章的最后,利用jmx,能看到详细的各个kafka broker的运行情况。

-1、环境

  • ubuntu :22.04-lts
  • kafka: 2.8
  • java: 17

0、规划

整体规划图如下:

在这里插入图片描述

可以看到我们利用一个zookeeper搭建了3个broker的kafka集群。详细的规划如下表:

序号borker.idipportjmx portzk
1100192.168.99.10090929992localhost:2181
2120192.168.99.12090929999192.168.99.100:2181
3130192.168.99.13090929993192.168.99.100:2181

1、kafka-1搭建

对应上面列表的“序号1”。注意这里有坑,ubuntu下(centos没测,大家可以试试)跑kafka目录下的zookeeper时,报java找不到的错误(启动kafka一样会报错,都按下面方法处理)。这是因为你机器上的java不是/usr/bin/java,和kafka要的不同。这里通过软链解决:

# 找到你机器上java的目录
which java  # 第一个地址是我机器上java的路径,通过上面命令查出来的,第二个照着抄,因为就是kafka要的地址
sudo ln -s /home/jackie/.sdkman/candidates/java/current/bin/java /usr/bin/java

1.1、启动zookeeper

# 后台启动,日志文件写到zk.log文件内
sudo bin/zookeeper-server-start.sh -daemon config/zookeeper.properties 

kafka自带的zookeeper可以使用-daemon参数后台启动。如果你要改zookeeper的端口信息,在config/zookeeper.properties文件里。

1.2、配置kafka-1

修改config/server.properties文件,至少有3出要改:

  • borker.id:集群中broker的id,必须与其他机器不同。这里配成100,按上面规划表中的来。
  • listeners:配置borker监听的端口,写你机器的ip,一定别写localhost或127.0.0.1。前面的PLAINTEXT表示明文传输,我们保持默认即可。
  • zookeeper.connect:指定连接zookeeper的地址和端口,如果是zookeeper集群,多个机器逗号分割即可。

贴个图,看看我配的值,大家按我的来即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当然还有别的参数可以配置,比如数据文件的保存路径等,这里咱们保持默认。

1.3、启动kafka-1

修改config/server.properties文件,

bin/kafka-server-start.sh -daemon config/server.properties 
  • -daemon: 代表后台启动,有些同学喜欢用nohup命令,其实效果一样。

这样第一个kafka就配置完成,并且启动了。kafka-2和kafka-3按照同样的步骤一步步执行即可。但是注意:kafka-2、kafka-3的zookeeper地址都是用的kafka-1的,别填错了。实际生产环境要配置zookeeper集群,别让zookeeper产生单点瓶颈。

2、配置jmx

配置jmx后,我们可以通过kafka-manager查看详细的运行参数。配置过程简单,咱们在bin/kafka-server.start.sh文件中,加入jmx的端口配置即可,如下图,别加错地方
在这里插入图片描述
这是kafka-1配置,其他两个机器按照上面规划来哦。配置好了咱们用java Visualvm 看看效果。用Windows或mac,找到你jdk安装的目录,执行bin/jvisualvm命令,并远程连接这三个机器,注意jmx端口要和上面的对上。

在这里插入图片描述

注意:kafka机器上的防火器要么开放jmx的端口要么关闭防火墙。否则连接不上哦。至此kafka的集群配置完成了,上节咱们配置过kafka-manager,咱们在此看看效果(当然集群要重新配置,上节是单机)。

3、kafka-manager效果

在这里插入图片描述
能够看到咱们规划的集群已经完整的显示到kafka-manager里了,也算验证了我们的配置。
好了,先到这里吧。大家动手试试。
//~~

相关文章:

2-kafka集群环境搭建

本文介绍kafka集群环境的搭建,我利用三个虚拟机搭建。文中我一步步演示了过程中可能会碰到的问题,在文章的最后,利用jmx,能看到详细的各个kafka broker的运行情况。 -1、环境 ubuntu :22.04-ltskafka: 2.8java: 17 …...

ROS2与Navigation2入门教程:构建与安装Nav2

Navigation2(Nav2)是ROS2中用于机器人导航的核心框架,支持路径规划、避障、SLAM等功能。本教程将详细介绍Nav2的安装与构建方法,涵盖二进制安装、源码编译及Docker部署等多种方式,适用于不同开发需求。 一、通过APT安…...

MySQL入门手册

MySQL入门手册:从零开始掌握数据库管理 📖 一、MySQL是什么? MySQL 是一个开源的关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现隶属于Oracle旗下。它使用**结构化查询语言&#xff…...

深度学习算法实战——风格迁移(主页有源码)

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​ ​​​ 1. 领域介绍 风格迁移(Style Transfer)是深度学习中的一个热门应用,旨在将一幅图像的风格迁移到…...

基于SpringBoot的智能问诊系统设计与隐私保护策略

通过SpringBoot框架,我们可以快速搭建一个智能问诊系统,为用户提供便捷的线上医疗服务。然而,在系统设计和实现过程中,如何保障用户的隐私和数据安全,始终是一个亟需关注的问题。本文将探讨基于SpringBoot的智能问诊系…...

开发ai模型最佳的系统是Ubuntu还是linux?

在 AI/ML 开发中,​Ubuntu 是更优选的 Linux 发行版,原因如下: ​1. 开箱即用的 AI 工具链支持 Ubuntu 预装了主流的 AI 框架(如 TensorFlow、PyTorch)和依赖库,且通过 apt 包管理器可快速部署开发环境。 提…...

Vue 3 ref(new Map()) 无法触发watch

现象 const map ref(new Map()); 通过 map.value.set(k, v); 不能触发watch 下面验证&#xff0c;map.value.set 并不能触发watch 的监听 代码 <script setup lang"ts"> import { ref, triggerRef, watch } from vue;const map ref(new Map<string, R…...

NoteGen是一款开源跨平台的 AI 笔记应用,专注于 recording 和 writing ,基于 Tauri 开发

一、软件介绍 文末提供程序和源码下载 NoteGen 是一款专注于记录和写作的跨平台 AI 笔记应用&#xff0c;基于 Tauri 开发。NoteGen 的核心理念是将记录、写作和 AI 结合使用&#xff0c;三者相辅相成。记录功能可以帮助用户快速捕捉和整理碎片化知识。整理功能是连接记录和写…...

repo访问gerrit.googlesource失败

编译openharmony的时候&#xff0c;repo阶段碰到一个问题&#xff0c;建议不要通过 apt install安装&#xff0c;里面的源来自google curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o ~/repo chmod 755 ~/repo 执行类似这样的操作 repo init -u gitgitee.com:…...

IDEA中Git版本回退终极指南:Reset与Revert双方案详解

目录 前言一、版本回退前置知识二、Reset方案&#xff1a;整体改写历史1、IDEA图形化操作&#xff08;推荐&#xff09;1.1、查看提交历史1.2、选择目标版本1.3、选择回退模式1.3.1、Soft&#xff08;推荐&#xff09;1.3.2、Mixed1.3.3、Hard&#xff08;慎用&#xff09;1.3.…...

【系统架构设计师】体系结构复审

目录 1. 说明2. 例题2.1 例题1 1. 说明 1.体系结构设计、文档化和复审是一个迭代过程。2.从这个方面来说&#xff0c;在一个主版本的软件体系结构分析之后&#xff0c;要安排一次由外部人员&#xff08;用户代表和领域专家&#xff09;参加的复审。3.鉴于体系结构文档标准化以…...

Unity之如何实现哔哩哔哩直播弹幕游戏

前言 什么是直播间互动? 当我们使用哔哩哔哩进行直播或者观看视频时,我们可以通过接入哔哩哔哩提供的 直播&互动玩法SDK,让直播和视频可以与Unity3D游戏客户端或者游戏服务器进行互动。 环境要求 Unity 2020.x或更高版本 依赖库:Newtonsoft Json Unity Package 在P…...

视觉图像处理

在MATLAB中进行视觉图像处理仿真通常涉及图像增强、滤波、分割、特征提取等操作。以下是一个分步指南和示例代码,帮助您快速入门: 1. MATLAB图像处理基础步骤 1.1 读取和显示图像 % 读取图像(替换为实际文件路径) img = imread(lena.jpg); % 显示原图 figure; subplot(2…...

学习LED驱动知识(二)

ppt来自B站周老师 使用普通元器件或者电源芯片构建电路驱动LED 1.电阻降压限流设计 案例一&#xff1a; USB供电电压为5V&#xff0c;因为LED的Vf为3v&#xff0c;所以电路只能6个LED并联&#xff0c;直接跟电源并联电流太大&#xff0c;LED会过流导致断路。所以要先串联一个…...

011---UART协议的基本知识(一)

1. 摘要 文章为学习记录。主要介绍 UART 协议的概述、物理层、协议层、关键参数。 2. UART概述 通用异步收发传输器&#xff08;Universal Asynchronous Receiver/Transmitter&#xff09;&#xff0c;通常称作UART&#xff08;串口&#xff09;&#xff0c;是一种异步****串…...

如何选择开源向量数据库

文章目录 评估维度查询性能索引与存储扩展性数据管理能力生态支持 常见向量数据库对比 评估维度 选择开源向量数据库时&#xff0c;需要综合考虑查询性能、数据规模、索引构建速度、生态支持等多个因素&#xff0c;以下是关键的评估维度&#xff1a;选择开源向量数据库时&…...

SpringBoot项目配置文件

SpringBoot项目提供了多种属性配置方式&#xff08;properties、yaml、yml&#xff09; yml配置文件 使用Apifox可以方便开发接口、前端测试等 工程搭建&#xff1a; 1.创建SpringBoot工程&#xff0c;并引入web开发起步依赖、mybatis、mysql驱动、lombok 2.创建数据库表&am…...

L33.【LeetCode笔记】循环队列(数组解法)

目录 1.题目 2.分析 方法1:链表 尝试使用单向循环链表模拟 插入节点 解决方法1:开辟(k1)个节点 解决方法2:使用变量size记录队列元素个数 获取队尾元素 其他函数的实现说明 方法2:数组 重要点:指针越界的解决方法 方法1:单独判断 方法2:取模 3.数组代码的逐步实现…...

前端知识点---库和包的概念

1. 什么是库&#xff08;Library&#xff09;&#xff1f; 库&#xff08;Library&#xff09; 是一组可复用的代码集合&#xff0c;提供特定功能&#xff08;如网络请求、UI 组件、数据处理等&#xff09;。 特点&#xff1a; 只是代码的集合&#xff0c;没有完整的应用结构…...

【CSS3】筑基篇

目录 复合选择器后代选择器子选择器并集选择器交集选择器伪类选择器 CSS 三大特性继承性层叠性优先级 背景属性背景色背景图背景图平铺方式背景图位置背景图缩放背景图固定背景复合属性 显示模式显示模式块级元素行内元素行内块元素 转换显示模式 结构伪类选择器结构伪类选择器…...

CentOS7 安装docker并配置镜像加速

一、Yum 安装docker【不推荐】 /var/lib/docker 路径主要用于存储容器数据&#xff0c;在使用和操作过程中数据量会逐渐增加。因此&#xff0c;在生产环境中&#xff0c;建议为 /var/lib/docker 单独挂载一个硬盘。也可以使用软连接的方式 1.1 安装必要的一些系统工具 yum i…...

【Go每日一练】统计字符出现的次数

&#x1f47b;创作者&#xff1a;丶重明 &#x1f47b;创作时间&#xff1a;2025年3月9日 &#x1f47b;擅长领域&#xff1a;运维 目录 1.&#x1f636;‍&#x1f32b;️题目&#xff1a;2.&#x1f636;‍&#x1f32b;️资源&#xff1a;3.&#x1f636;‍&#x1f32b;️代…...

正向代理与反向代理

代理: 通常称为代理、代理服务器或 Web 代理&#xff0c;代理一般是指正向代理&#xff0c;是位于一组客户端计算机之前的服务器。当这些计算机向 Internet 上的站点和服务发出请求时&#xff0c;代理服务器将拦截这些请求&#xff0c;然后代表客户端与 Web服务器进行通信&…...

报表DSL优化,享元模式优化过程,优化效果怎么样?

报表DSL优化与享元模式应用详解 一、报表DSL优化 1. 问题背景 报表系统通常使用领域特定语言&#xff08;DSL&#xff09;定义模板结构、数据绑定规则及样式配置。随着复杂度提升&#xff0c;DSL可能面临以下问题&#xff1a; 冗余配置&#xff1a;重复定义样式、布局或数据源…...

双击PPT文件界面灰色不可用,需要再次打开该PPT文件才能正常打开

双击PPT文件界面灰色不可用&#xff0c;需要再次打开该PPT文件才能正常打开 1. 软件环境⚙️2. 问题描述&#x1f50d;3. 解决方法&#x1f421;解决步骤 4. 结果预览&#x1f914; 1. 软件环境⚙️ Windows10 或 Windows11 专业版64位&#xff0c;安装MotionGo软件&#xff08…...

学习前置知识第18和19天

今天要做什么&#xff1f; 1&#xff1a;显示数字要求格式 2&#xff1a;无符号除法指令:div 3&#xff1a;前面用vhd和img等格式进行系统界面启动&#xff0c;详细了解多种镜像格式文件的区别 一&#xff1a;显示数字要求格式 屏幕上显示的数字格式,三个颜色编码和数字属性 1&…...

C#运算符详解

一、运算符分类与功能‌ 1‌.算术运算符‌ 基本运算‌&#xff1a;&#xff08;加&#xff09;、-&#xff08;减&#xff09;、*&#xff08;乘&#xff09;、/&#xff08;除&#xff09;、%&#xff08;取模&#xff09; int a 10 / 3; // 结果为3&#xff08;整数除…...

生成任务,大模型

一个生成项目 输入&#xff1a;文字描述&#xff08;但是给的数据集是一串数字&#xff0c;id&#xff0c;ct描述&#xff0c;医生描述&#xff09; 输出&#xff1a;诊断报告 一、数据处理 import pandas as pd #处理表格数据pre_train_file "data/train.csv"tr…...

下载Hugging Face模型的几种方式

1.网页下载 直接访问Hugging Face模型页面&#xff0c;点击“File and versions”选项卡&#xff0c;选择所需的文件进行下载。 2.使用huggingface-cli 首先&#xff0c;安装huggingface_hub: pip install huggingface_hub 然后&#xff0c;使用以下命令下载模型&#xff1…...

【Elasticsearch入门到落地】9、hotel数据结构分析

接上篇《8、RestClient操作索引库-基础介绍及导入demo》 上一篇我们介绍了RestClient的基础&#xff0c;并导入了使用Java语言编写的RestClient程序Demo以及将要分析的数据库。本篇我们就要分析导入的宾馆数据库tb_hotel表结构的具体含义&#xff0c;并分析如何建立其索引库。 …...

【由技及道】量子构建交响曲:Jenkinsfile流水线的十一维编程艺术【人工智障AI2077的开发日志008】

摘要&#xff1a;当代码提交触发时空涟漪&#xff0c;当构建流水线穿越量子维度——欢迎来到自动化构建的终极形态。本文将揭示如何用Jenkinsfile编写量子构建乐章&#xff0c;让每次代码提交都成为跨维度交响乐的音符。 动机&#xff1a;构建系统的量子哲学 “主人啊&#xff…...

Unity开发——CanvasGroup组件介绍和应用

CanvasGroup是Unity中用于控制UI的透明度、交互性和渲染顺序的组件。 一、常用属性的解释 1、alpha&#xff1a;控制UI的透明度 类型&#xff1a;float&#xff0c;0.0 ~1.0&#xff0c; 其中 0.0 完全透明&#xff0c;1.0 完全不透明。 通过调整alpha值可以实现UI的淡入淡…...

jenkins配置连接k8s集群

jenkins配置连接k8s集群 前言 我这边jenkins是在一个服务器里面&#xff0c;k8s集群在其他服务器&#xff0c;实现连接 首先jenkins下载有k8s插件 进入配置页面 获取k8s-api-server地址 对应k8s服务器执行 kubectl config view --minify -o jsonpath{.clusters[0].cluste…...

Linux 入门:常用命令速查手册

目录 一.指令 1.pwd&#xff08;显示所在路径&#xff09; 2.ls&#xff08;列出所有子目录与文件&#xff09; 3.touch&#xff08;创建文件&#xff09; 4.mkdir&#xff08;创建目录&#xff09; 5.cd&#xff08;改变所处位置&#xff09; 6.rm&#xff08;删除&…...

【VUE】day01-vue基本使用、调试工具、指令与过滤器

【VUE】day01-vue基本使用、调试工具、指令与过滤器 1. 什么是Vue2. Vue的基本使用 1. 什么是Vue Vue&#xff08;Vue.js&#xff09;是一个用于构建用户界面的渐进式 JavaScript 框架&#xff0c;其核心设计理念是“自底向上逐层应用”&#xff0c;既能作为轻量级库增强现有项…...

deepseek为什么要开源

一、生态位的抢占与锁定&#xff1a;以 JDK 版本为例​ 在软件开发的世界里&#xff0c;生态位的抢占和先入为主的效应十分显著。就拿 Java 开发中的 JDK 版本来说&#xff0c;目前大多数开发者仍在广泛使用 JDK8。尽管 JDK17 和 JDK21 已经推出&#xff0c;且具备更多先进特性…...

软考 中级软件设计师 考点知识点笔记总结 day02

文章目录 3、计算机系统组成 &#xff08;五大部件&#xff09;3.1、主存储器3.2、运算器3.3、控制器3.4、Flynn分类法 4、指令系统4.1、七种寻址方式4.2、指令的流水处理4.3、流水线的计算 上一篇文章 软考知识点 day01 3、计算机系统组成 &#xff08;五大部件&#xff09; …...

Redis Cluster 客户端定位分片全解析:哈希槽与动态路由机制

Redis Cluster客户端定位分片全解析&#xff1a;哈希槽与动态路由机制 一、引言 Redis Cluster通过分片技术将数据分散存储在多个节点&#xff0c;实现水平扩展。客户端如何快速定位目标分片&#xff1f;本文将深入解析哈希槽算法、路由逻辑及实战技巧。 二、核心原理&#…...

基于Python+Vue的智能服装商城管理系统的设计与实现

&#x1f457; 基于PythonVue的智能服装商城管理系统的设计与实现 电商级解决方案&#xff1a;全栈技术融合 智能推荐系统 多维度数据分析 项目亮点&#xff1a;课程设计优选 | 企业级架构规范 | 完整电商功能闭环 | 毕业设计选择 &#x1f310; 在线资源速览 类别地址访问方…...

提升Web可访问性的10个关键实践

在当今互联网时代&#xff0c;确保网站的可访问性&#xff08;Accessibility&#xff09;已经成为开发者和设计师的重要任务之一。Web可访问性不仅有助于残障用户更好地访问和使用网站&#xff0c;还能提升整体用户体验。本文将介绍10个关键的Web可访问性实践&#xff0c;帮助你…...

基于DeepSeek的智慧医药系统(源码+部署教程)

运行环境 智慧医药系统运行环境如下&#xff1a; 前端&#xff1a; HTMLCSS后端&#xff1a;Java AIGCDeepseekIDE工具&#xff1a;IDEA技术栈&#xff1a;Springboot HTMLCSS MySQL 主要角色 智慧医药系统主要分为两个角色。 游客 尚未进行注册和登录。具备登录注册、…...

yolov5训练自己数据集的全流程+踩过的坑

一&#xff0c;拿到yolov5数据集的第一步是什么呢&#xff0c;安装必要的依赖文件。在requirements.txt文件下存放 pip install -r requirements.txt二&#xff0c;检查是否可以正常进行检测&#xff0c;在detect.py&#xff0c;文件下&#xff0c;里面有默认的设置文件是可以…...

【Recon】Git源代码泄露题目解题方法

CTF中Git源代码泄露题目解题方法 1. 确认存在.git目录泄露2. 下载完整的.git目录3. 恢复Git仓库历史4. 查找Flag的常见位置5. 处理不完整的.git目录6. 其他技巧示例流程 在CTF中遇到Git源代码泄露题目时&#xff0c;通常可以通过以下步骤解决&#xff1a; 1. 确认存在.git目录泄…...

Android APP 启动流程详解(含冷启动、热启动)

目录 一、流程对比图 二、冷启动&#xff08;Cold Launch&#xff09; 2.1 用户点击应用图标&#xff08;Launcher 触发&#xff09; 2.2 AMS 处理启动请求 2.3 请求 Zygote 创建新进程 2.4 初始化应用进程 2.5 创建 Application 对象 2.6 启动目标 Activity 2.7 执行 …...

Python实现网络通信:Socket模块与TCP/IP协议全解析

Langchain系列文章目录 01-玩转LangChain&#xff1a;从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块&#xff1a;四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain&#xff1a;从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...

信奥赛CSP-J复赛集训(模拟算法专题)(1):P8813 [CSP-J 2022] 乘方

信奥赛CSP-J复赛集训&#xff08;模拟算法专题&#xff09;&#xff08;1&#xff09;&#xff1a;P8813 [CSP-J 2022] 乘方 题目描述 小文同学刚刚接触了信息学竞赛&#xff0c;有一天她遇到了这样一个题&#xff1a;给定正整数 a a a 和 b b b&#xff0c;求 a b a^b ab …...

MongoDB学习笔记

MongoDB https://www.mongodb.com/download-center/community 打开客户端 mongo.exe 注意6.0版本不一样需要自行安装Mongoshell MongoDB Shell Download | MongoDB 创建数据库 use go_db; 创建集合 db.createCollection("student"); 添加MongoDB依赖 go get …...

C#模拟鼠标点击,模拟鼠标双击,模拟鼠标恒定速度移动,可以看到轨迹

C#模拟鼠标点击&#xff0c;模拟鼠标双击&#xff0c;模拟鼠标恒定速度移动&#xff0c;可以看到轨迹 using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks;namespa…...

时间复杂度空间复杂度

一、时间复杂度 时间复杂度&#xff08;Time Complexity&#xff09;表示算法运行时间随输入规模增长的变化趋势。通常用大 O 表示法&#xff08;Big O Notation&#xff09;来描述。 常见时间复杂度 复杂度名称例子O(1)常数时间复杂度访问数组中的某个元素。O(log n)对数时间复…...

【科研绘图系列】R语言绘制组合箱线图(grouped boxplot)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载导入数据画图输出图片系统信息介绍 【科研绘图系列】R语言绘制组合箱线图(grouped boxplot) 加载R包 library(tidyverse) library(lemon) library(ggnewscale)…...