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

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上。

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 七牛云文件存储
  • 大模型在应用开发安全左移实践
  • 【C/C++】Sleep()函数详解
  • GPIO(通用输入/输出)、中断(hal库)
  • Chrome 中的 RCE 会在 JIT 编译器中产生不正确的副作用
  • 【Linux】匿名管道
  • TypeSript8 泛型学习
  • 【算法进阶1】贪心算法、背包问题(0-1背包、分数背包)、拼接最大数字问题、活动选择问题
  • 6 - Linux PXE高效批量网络装机
  • CacheLoader和装饰器模式
  • 无刷电机、有刷电机和步进电机的区别
  • 初赛笔记1
  • OD C卷 - 项目排期/最少交付时间
  • 新手学习打怪之编译安装LAMP和LNMP
  • PCL 点云ISS关键点提取算法
  • android 一些 utils
  • Babel配置的不完全指南
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • js
  • Js基础知识(一) - 变量
  • Leetcode 27 Remove Element
  • react 代码优化(一) ——事件处理
  • SwizzleMethod 黑魔法
  • Zsh 开发指南(第十四篇 文件读写)
  • 从零开始学习部署
  • 第十八天-企业应用架构模式-基本模式
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 前端技术周刊 2019-02-11 Serverless
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 移动端唤起键盘时取消position:fixed定位
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 云大使推广中的常见热门问题
  • 运行时添加log4j2的appender
  • ionic入门之数据绑定显示-1
  • (6)设计一个TimeMap
  • (PySpark)RDD实验实战——取最大数出现的次数
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (三)终结任务
  • (十八)Flink CEP 详解
  • (十一)c52学习之旅-动态数码管
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (算法)大数的进制转换
  • (算法设计与分析)第一章算法概述-习题
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)ObjectiveC 深浅拷贝学习
  • (转)四层和七层负载均衡的区别
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .net framework4与其client profile版本的区别
  • .net 中viewstate的原理和使用
  • .NET6 命令行启动及发布单个Exe文件
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .NET是什么