kafak集群搭建-基于zookeeper方式

kafak集群搭建-基于zookeeper方式

  • 1、准备3个kafka
  • 2、修改配置文件
    • 2.1、修改配置文件
  • 3、启动测试
    • 3.1、先启动zookeeper
    • 3.2、再启动三台kafka
  • 4、SpringBoot集成kafka集群
    • 4.1、项目配置文件application.yml
    • 4.2、kafka配置类
    • 4.3、启动SpringBoot程序
  • 5、kafka集群架构分析
  • 6、查看topic详情
  • 7、kafka集群架构-多副本架构分析

在这里插入图片描述

1、准备3个kafka

解压kafka压缩包

tar -zxvf kafka_2.13-3.7.0.tgz 

在这里插入图片描述
将解压后的kafka移动到/usr/local文件夹下,并修改名字

mv kafka_2.13-3.7.0 /usr/local/kafka_2.13-3.7.0-01

在这里插入图片描述

将kafka_2.13-3.7.0-01复制两份

cp -rf kafka_2.13-3.7.0-01/ kafka_2.13-3.7.0-02cp -rf kafka_2.13-3.7.0-01/ kafka_2.13-3.7.0-03

在这里插入图片描述

2、修改配置文件

在这里插入图片描述在这里插入图片描述

2.1、修改配置文件

下边以一台kafka服务为例进行配置:
在这里插入图片描述
在这里插入图片描述
*在这里插入图片描述*

3、启动测试

在这里插入图片描述

3.1、先启动zookeeper

在这里插入图片描述
在这里插入图片描述

3.2、再启动三台kafka

在kafka安装目录下bin文件夹内,执行命令
./kafka-server-start.sh ../config/server/properties

在这里插入图片描述

4、SpringBoot集成kafka集群

4.1、项目配置文件application.yml

在这里插入图片描述

spring:application:#应用名称name: spring-boot-08-kafka-colony#kafka连接地址(ip+port)kafka:bootstrap-servers: <你的服务器IP>:9091,<你的服务器IP>:9092#配置消费者的反序列化consumer:key-deserializer: org.apache.kafka.common.serialization.StringDeserializervalue-deserializer: org.apache.kafka.common.serialization.StringDeserializer

4.2、kafka配置类

  • 副本数一般与服务器节点数保持一致
  • 分区数不做限制
package com.power.config;import org.apache.kafka.clients.admin.NewTopic;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class KafkaConfig {@Beanpublic NewTopic newTopic(){//设置副本个数不能为0,也不能大于节点个数,否则将不能创建Topicreturn new NewTopic("clusterTopic",2, (short)2);}
}

4.3、启动SpringBoot程序

SpringBoot集成kafka成功

在这里插入图片描述

5、kafka集群架构分析

在这里插入图片描述

6、查看topic详情

./kafka-topics.sh --bootstrap-server 127.0.0.1:9091 --describe --topic clusterTopic

在这里插入图片描述
在这里插入图片描述

7、kafka集群架构-多副本架构分析

  • 主副本究竟放在哪个broker中由kafka内部机制决定;
  • 从副本和主副本不在同一个broker上。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/52315.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习能力与研究能力

摘要: 学习就像搭金字塔, 研究就像挖井. 1. 什么是学习 学习 (study) 是获得技能、知识、方法的过程. 学习有两种模式: 一是直接获得前人总结的经验; 二是从数据中总结规律. 2. 什么是研究 研究 (research) 是对已有或新的问题进行探索, 获得新技能、新知识、新方法的过程.…

【kubernetes】相关pod的创建和命令

【书写方法】&#xff1a; 管理使用k8s集群时&#xff0c;创建资源的Yaml文件非常重要&#xff0c;如何快速手写呢&#xff1f; 根据命令提示书写&#xff1a; kubectl explain [资源名称]例如打算写pod资源文件时&#xff0c;可查看如下&#xff1a; # 查看pod下所有字段 …

IO多路复用,select、poll和epoll简介

文章目录 前言1、select2、poll3、epoll4、总结 前言 select、poll 和 epoll 是 Linux 下用于多路复用 I/O&#xff08;Input/Output&#xff09;的系统调用&#xff0c;它们用于监视多个文件描述符&#xff0c;以查看哪个文件描述符上有可读、可写或发生了异常的事件。 1、sel…

python之多线程和多进程以及threading和multiprocessing模块

在 Python 中&#xff0c;多线程和多进程是实现并发编程的两种主要方式。多线程适用于 I/O 密集型任务&#xff0c;而多进程适用于 CPU 密集型任务。Python 提供了 threading 模块用于多线程编程&#xff0c;提供了 multiprocessing 模块用于多进程编程。 多线程 基本用法 使…

深度学习100问9-什么是word2vec模型

Word2vec 模型是一种用于将词语转换为向量表示的工具。 想象一下&#xff0c;我们有很多很多的词语&#xff0c;就像一个个不同的小盒子。Word2vec 模型的作用就是给每个小盒子都找到一个对应的位置&#xff0c;这个位置用一个向量来表示。这样&#xff0c;意思相近的词语在这…

Google Colab快速使用

Google Colab快速使用 1. 引言2. Jupyter笔记本的创建3. 上传代码和数据集4. Colab常规指令 1. 引言 Google Colab是谷歌提供的免费Jupyter&#xff0c;很类似于Linux系统这些在终端界面操纵的感觉&#xff0c;不需要深度学习环境配置就可以使用&#xff0c;完全基于云端运行。…

Shell输出、重定向与管道符

Shell输出、重定向与管道符 1、Shell输出1.1、标准输入输出1.2、echo指令1.3、print与printf指令 2、Shell重定向3、Shell管道符 由于Shell脚本批处理的特殊性&#xff0c;其大部分操作过程位于后台&#xff0c;不需要用户进行干预&#xff0c;因此&#xff0c;使用重定向和管道…

在Windows Server 2012 R2上安装.NET Framework 3.5

在Windows Server 2012 R2上安装.NET Framework 3.5&#xff0c;可以按照以下步骤进行&#xff1a; 打开服务器管理器&#xff1a; 首先&#xff0c;登录到Windows Server 2012 R2的服务器。然后&#xff0c;打开“服务器管理器”。添加角色和功能&#xff1a; 在“服务器管理…

react面试题五

一、请解释React中的高阶组件&#xff08;HOC&#xff09;和Hooks。 在React中&#xff0c;高阶组件&#xff08;High-Order Components, HOCs&#xff09;和Hooks是两种强大的特性&#xff0c;它们用于重用组件逻辑。尽管它们的目的相似&#xff0c;但它们在实现和使用方式上有…

使用Python恢复Windows、Linux、MacOS回收站中的文件和目录

一、使用Python恢复Windows回收站中的文件和目录 import os import platformdef put_back_trash():# 获取操作系统类型os_type platform.system()if os_type "Windows": # Windowsfrom winshell import recycle_binfor item in recycle_bin():winshell.undelete(…

针对防火墙IPSec业务不通或业务丢包问题,防火墙如何做流量统计、远程抓包、报文示踪

问题描述 针对防火墙IPSec业务不通或业务丢包问题&#xff0c;防火墙如何做流量统计、远程抓包、报文示踪 解决方案 1&#xff09;配置流统和远程抓包用的ACL&#xff1b; system [sysname] acl 3555 [sysname-acl-adv-3555] rule permit icmp source 10.82.100.215 0 destin…

结构型模式之代理模式

一、概述 1、代理模式&#xff1a;给某一个对象提供一个代理或占位符&#xff0c;并由代理对象来控制对原对象的访问。 2、代理对象在客户端和目标对象之间起到中介作用 3、引入一个新的代理对象&#xff0c;代理模式的主要目的是在不改变原始对象接口的前提下&#xff0c;增…

DORIS学习网址

DORIS学习网址 序号学习网址备注1ApacheDoris系列&#xff5c;Bucket(分桶)数量设置和自动分桶-CSDN博客自动分桶2Apache Doris 入门教程23&#xff1a;自动分桶和Broker概念介绍_doris broker-CSDN博客新版自动分桶说明3一文教你玩转 Apache Doris 分区分桶新功能&#xff5c;…

Spring 中AbstractRefreshableWebApplicationContext

AbstractRefreshableWebApplicationContext 是 Spring Framework 中用于 Web 应用程序的一个抽象类&#xff0c;位于 org.springframework.web.context.support 包中。它继承自 AbstractRefreshableApplicationContext&#xff0c;主要用于支持 Web 应用程序的上下文管理。 主…

[C语言]一、C语言基础(函数)

G:\Cpp\C语言精讲 6. 函数 6.1函数的基本使用 6.1.1 为什么需要函数 《街霸》游戏中&#xff0c;每次人物出拳、出脚或跳跃等动作都需要编写50-80行的代码&#xff0c;在每次出拳、出脚或跳跃的地方都需要重复地编写这50-80行代码&#xff0c;这样程序会变得很臃肿&#xff…

C++基础面试题 | C和C++的区别?

人生如逆旅&#xff0c;我亦是行人。 - 《临江仙送钱穆父》(苏轼) 2024.8.23 回答重点&#xff1a;C可以认为是C语言的超集&#xff0c;绝大部分C语言代码可以使用C运行 在设计思想上&#xff1a;面向过程 vs 面向对象 C是一种面向过程的编程语言&#xff0c;它侧重于函数和过程…

python学习8-数据获取与整理4

pandas迭代 在 Pandas 中&#xff0c;通常情况下你不需要迭代&#xff08;遍历&#xff09;DataFrame 或 Series&#xff0c;因为很多操作都是矢量化的&#xff0c;可以直接应用于整个数据集。然而&#xff0c;有时候你可能需要遍历数据帧&#xff08;DataFrame&#xff09;或…

通过Python绘制不同数据类型适合的可视化图表

在数据可视化中&#xff0c;对于描述数值变量与数值变量之间的关系常见的有散点图和热力图&#xff0c;以及描述数值变量与分类变量之间的关系常见的有条形图&#xff0c;饼图和折线图&#xff0c;可以通过使用Python的matplotlib和seaborn库来绘制图表进行可视化表达&#xff…

如何使用ssm实现ssm框架的购物网站+vue

TOC ssm113ssm框架的购物网站vue 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;规范化管理。…

如何评估Redis的性能

如果系统中出现了大 key、热 key 等&#xff0c;往往会导致 Redis 变慢&#xff0c;但是这个慢该如何界定&#xff1f;多久算慢&#xff1f;1秒还是3秒&#xff1f; 这个肯定是没有标准答案&#xff0c;因为这个和你的硬件设备有关。 硬件差一些&#xff0c;平时响应时间都是…