Kafka高可用环境搭建

Kafka基于Zookeeper搭建高可用集群实战 目录 1、前言 1.1 高可用的由来 1.2 相关术语 2、架构图 3、发送消息流程 4、部署kafka&zookeeper集群 4.1 准备工作 4.2 启动zookeeper集群 4.3 启动kafka集群 4.4 测试 5、 kafka集群管理控制台安装 5.1 安装配置 5.2 控制台访问 6、Java API操作 6.1 本地DNS映射配置 6.2 pom依赖 6.3 生产者类 6.4 消费者类 7、分区/片备份 8、集群监控 8.1 开启J. 阅读详情

Kafka高可用环境搭建

Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。 它最初由LinkedIn公司开发,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。

注意:Kafka并没有遵循JMS规范,它只提供了发布和订阅通讯方式!!!!!
kafka中文官网:http://kafka.apachecn.org/quickstart.html

 

Kafka用在日志里面比较多 大数据里面的

MQ的思想: 解耦合  流量削峰  异步通信

 

kafka优点:

- 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作,我之前在课题里用到Spark Streaming 作为消费者过滤数据。
- 可扩展性:kafka集群支持热扩展
- 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失
- 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)
- 高并发:支持数千个客户端同时读写

 

Kafka依赖Zookeeper,kafka把集群的节点信息 全部存放在Zookeeper节点!!!!!

 

应用场景:

- 日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如hadoop、Hbase、Solr或者Spark Streaming等。
- 消息系统:解耦和生产者和消费者、缓存消息等。
- 用户活动跟踪:Kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后订阅者通过订阅这些topic来做实时的监控分析,或者装载到hadoop、数据仓库中做离线分析和挖掘。
- 运营指标:Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告。
- 流式处理:比如spark streaming和storm
- 事件源

 

关键名词解释:

 

Broker:Kafka节点,一个Kafka节点就是一个broker,多个broker可以组成一个Kafka集群。  broker就是节点,单机的kafka服务器
Topic:一类消息,消息存放的目录即主题,例如page view日志、click日志等都可以以topic的形式存在,Kafka集群能够同时负责多个topic的分发,kafka服务器存放 主题。kafka集群,相当于把topic进行拆分,拆分到不同的分区进行存放。类似于数据库存放数据量比较大的情况下,表进行拆分。查询时候进行分表查询。

massage: Kafka中最基本的传递对象。
Partition:topic物理上的分组,一个topic可以分为多个partition,每个partition是一个有序的队列,就是分区的概念,相当于把topic存放到不同的物理机器上存储起来。topic消息进行拆分,均摊存放到不同的

                  集群中的kafka服务器上。 每个partition其实是有顺序的。
Segment:partition物理上由多个segment组成,每个Segment存着message信息
Producer : 生产者,生产message发送到topic
Consumer : 消费者,订阅topic并消费message, consumer作为一个线程来消费
Consumer Group:消费者组,一个Consumer Group包含多个consumer。在同一个组可以收到消息
Offset:偏移量,理解为消息partition中的索引即可。  消息在partition的索引的位置

 

需要理解存储策略:

  

1)kafka以topic来进行消息管理,每个topic包含多个partition,每个partition对应一个逻辑log,有多个segment组成。
2)每个segment中存储多条消息(见下图),消息id由其逻辑位置决定,即从消息id可直接定位到消息的存储位置,避免id到位置的额外映射。
3)每个part在内存中对应一个index,记录每个segment中的第一条消息偏移。
4)发布者发到某个topic的消息会被均匀的分布到多个partition上(或根据用户指定的路由规则进行分布),broker收到发布消息往对应partition的最后一个segment上添加该消息,当某个segment上的消息条数达到配置值或消息发布时间超过阈值时,segment上的消息会被flush到磁盘,只有flush到磁盘上的消息订阅者才能订阅到,segment达到一定的大小后将不会再往该segment写数据,broker会创建新的segment。

 

生产者发送消息原理:

 

 

 

 

 Kafka高可用集群原理:

   

     kafka 是topic为主的,kafka必须集群,核心就是集群,才能体现分区的优势!

     

     集群环境下 生产者投递消息 到哪个Broker? 

     (Tomcat 通过Nginx 集合起来的思想深入人心)

     集群的目的就是分担单台的压力,kafaka采用了 负载轮训的机制

      数据库里面 单表 有1亿条数据  查询很慢的 。所以分表,比如按照月份进行分,或者根据其他的业务来进行分。

      

    下图三个Broke  topic进行分区存放,在创建topic时候,轮训去指定分区。BrokerId区分之

      0,1,2,34,5,6为offset 每个分区中的offset是独立的,互不影响的

      三个broker,有三个消费者是比较合理的~

     Zookeeper 节点专门存放topic 信息。   kafka 的broker的信息存放在zk节点

 

kafka+zookeeper高可用集群搭建shell使用脚本 kafka+zookeeper高可用集群搭建shell使用脚本,直接在linux运行就行 立即下载

相关推荐

ESP32搭配FT6236触摸屏:从芯片手册到完整I2C驱动代码的保姆级解析

本文详细解析了ESP32搭配FT6236触摸屏的I2C驱动开发过程,从芯片手册解读到完整代码实现。通过硬件架构分析、寄存器配置、I2C通信封装及触摸数据处理等步骤,提供了一套完整的驱动解决方案,帮助开发者快速掌握ESP32与触摸屏的交互技术。

weixin_29174385的博客 294

Kafka高可用集群搭建

一、环境准备 kafka-xx-yy xx 是scala版本,yy是kafka版本(scala是基于jdk开发,需要安装jdk环境) 下载地址:http://kafka.apache.org/downloads 伪集群搭建,3个节点同个机器端口区分9092/9093/9094 二、配置更改 kafka1配置: 解压缩: tar -zxvf kafka_2.13-2.8.0.tgz 重命名: mv kafka_2.13-2.8.0 kafka1 进入config目录下 serv...

点滴记忆,分享成长之路 1359

如何在windows电脑上搭建Linux环境(手把手教安装虚拟机软件和使用云服务器)

手把手教学如何搭建Linux环境

纪宁的博客 1万+

搭建高可用kafka集群

启动服务时失败,查看log文件(/app/kafka/logs/zookeeper.log)发现问题是:Cannot open channel to 3 at election address 主机名/ip:端口.创建myid文件:进入/app/kafka/zk_kfk_data目录,创建myid文件,将三台服务器上的myid文件分别写入1,2,3。myid是zookeeper集群用来发现彼此的标识,必须创建,且不能相同。zookeeper配置文件描述。kafka配置文件描述。

一头倔强的小毛驴 1188

RK3588嵌入式开发:从零构建Rockit多媒体处理引擎的实战指南

本文详细介绍了如何在RK3588嵌入式平台上从零构建Rockit多媒体处理引擎的实战指南。涵盖开发环境搭建、工具链配置、源码编译流程、硬件加速优化及典型问题解决方案,帮助开发者高效利用RK3588的NPU和VPU加速特性,实现高性能多媒体处理应用。

mango的博客 187

【白话系列】倍增算法

【序言】         我认为吧,所有能够优化复杂度的算法都是神奇的,所有能够化繁琐为形象的文字都是伟大的。一直觉得倍增算法是个很神奇的东西,所以决定写点东西纪念一下它。但是作为一个非常不称职的OIER,我非常讨厌在看别人的算法解析时整版的i,j,k等我看到鼠标就惯性移到右上角的符号语言,所以我想用最形象的方式来纪念它。 【一】         从前,有一只可爱得不得了的小白兔,它想从

JarjingX 3万+

在k8s中部署Kafka高可用集群超详细讲解

本文详细讲解了如何在Kubernetes(简称K8s)中部署一个高可用的Kafka集群。Kafka作为流处理平台的佼佼者,其在大数据和实时数据流处理中发挥着重要作用。然而,在高负载和复杂环境中,如何确保Kafka集群的稳定性和高可用性成为了一个重要问题。 文章首先介绍了Kafka集群的基本架构和核心概念,包括Broker、Topic、Partition等,为读者提供了必要的前置知识。接着,文章深入探讨了如何在K8s中构建Kafka集群的步骤和注意事项,包括选择合适的Kafka镜像、配置Kafka Broke

博客虽小,世界尽在其中 9955

目标检测旋转增强源码带方向

解法1: import cv2 import math import numpy as np import os def get_degree(p1,p0): aaa = math.degrees(math.atan2((p1[1] - p0[1]), (p1[0] - p0[0]))) if aaa < 0: aaa = 360 + aaa aaa = (aaa + 90) if aaa > 360: aa...

jacke121的专栏 2084

kafka-高可用设计详解(集群架构、备份机制、消费者组、重平衡)

当消费者组中重新加入消费者 , 或者消费者组中有消费者宕机 , 这个时候Kafka会为消费者组中的消费者从新分配消费分区的过程就是再均衡。再均衡就是指 当消费者组中的消费者发生变更的时候(新增消费者, 消费者宕机) , 重新为消费者分配消费分区的过程。同一个分区只能被一个消费者组中的一个消费者消费 , 一个消费者组中的某一个消费者, 可以消费多个分区。,我们可以放心的添加消费者或移除消费者,不过在正常情况下我们并不希望发生这样的行为。,组内的消费者共同对一个主题进行订阅和消费,

A的博客 3414

分布式锁特点、以及用python3实现redis分布式锁

以下是 Python3 实现 Redis 分布式锁的详细教程,包含代码示例、原理说明及最佳实践。

数据知道的博客 2万+

倍福--实现TCP/IP的配置

控制器为CX5120,需要和上位机做通信,选择TCP/IP的通讯方式,本文介绍TCP/IP通信的操作步骤。 目 录 软硬件版本 3 1.1. 倍福Beckhoff 3 1.1.1. 控制器硬件 3 1.1.2. 控制软件 3 1.2. 串口调试助手 3 1.2.1. TCP调试通信助手 3 授权文件 3 2.1 Lib文件 3 2.2. CAB文件 4 PLC程序编写 4 3.1. 引入TCP/IP库文件 4 3.2. Client端程序 5 3.2.1. 建立相关变量 5 3.3.2. 编写连接功能块

weixin_41883890的博客 5730

高可用集群环境kafka环境搭建(4_93)_2020.04.07

01.第一节-kafka高可用集群课程介绍 02.第二节-kafka相关名称介绍 03.第三节-kafka高可用集群原理 04.第四节-搭建高可用broker原理 05.第五节-搭建broker集群环境准备 5.1.服务器环境准备 使用vm虚拟三个linux主机 192.168.212.174 192.168.212.175 192.168.212.176 5.2.Zooke...

封神之路 200

想重装OpenClaw?先执行这4步彻底卸载,避免配置冲突

在重装OpenClaw之前,彻底卸载是非常重要的一步。如果不彻底卸载,可能会导致: - 残留的配置文件与新安装的版本冲突 - 旧的依赖包干扰新的安装过程 - 服务冲突导致启动失败 - 数据混乱影响系统稳定性

一键难忘的博客 1043

Kafka高可用集群环境搭建

1.kafka的优点 高吞吐量,低延迟:Kafka每秒可以处理几十万条消息,他的延迟最低只有几毫秒,每个topic可以分多个partition,consumer,group 对 partition进行consumer操作 可扩展性:kafka支持集群进行扩展 持久性,可靠性:消息可以被持久化到硬盘当中,支持数据备份 容错性:允许集群中节点的失败 高并发:支持上千个客户端进行同时的读写 2.Ka...

qq_42292373的博客 594

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

5分钟搭建高可用Kafka开发环境:从单节点到分布式集群

还在为Kafka环境配置繁琐而头疼?本文将带你5分钟内完成从单节点到分布式集群的搭建,让你专注于业务开发而非环境配置。读完本文你将掌握:本地单节点快速启动、Docker Compose集群部署、环境验证与基础操作、常见问题排查方法。 ## 环境准备 Kafka开发环境需要Java 17+运行时支持,推荐使用OpenJDK 17。可通过以下命令验证Java环境: ```bash java -ve...

gitblog_00844的博客 722

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

从零搭建高可用Kafka集群:3节点部署与生产环境验证实战

分布式消息系统是现代数据架构的核心组件,它通过解耦生产者和消费者来实现异步通信和流量削峰。其核心原理基于发布-订阅模型,通过分区和副本机制实现高吞吐与高可用性。这项技术在微服务解耦、实时数据处理和日志收集等场景中具有重要价值。本文聚焦于Kafka集群的实战部署,详细讲解如何从零开始搭建一个包含3个ZooKeeper节点和3个Kafka Broker的高可用集群。内容涵盖环境规划、核心概念、ZooKeeper与Kafka的配置部署,并重点解析了`advertised.listeners`等关键参数的配置要点和

conghuang7343的博客 433

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

kafka高可用集群环境搭建

kafka是分布式发布订阅消息系统 Kafka作为一个集群,运行在一台或者多台服务器上. Kafka 通过topic对存储的流数据进行分类。 每条记录中包含一个key,一个value和一个timestamp(时间戳)。 中文官方网站:http://kafka.apachecn.org/quickstart.html 优点: a、高吞吐量、低延迟:kafka每秒可以处理几十万条消息,延迟最低只...

weixin_47980221的博客 174

Kafaka高可用集群环境搭建

Kafaka高可用集群环境搭建 zk集群环境搭建:https://www.cnblogs.com/toov5/p/9897868.html 三台主机每台的Java版本1.8 下面kafka集群的搭建: 3台虚拟机均进行以下操作: // 解压下载好的kafka压缩包并重命名 cd /home wget http://mirror.bit.edu.cn/apache/ka...

art_code的博客 1011

高可用集群环境-Kafka环境搭建

Kafka集群环境搭建 服务器环境准备 使用vm虚拟三个linux主机 192.168.212.174 192.168.212.175 192.168.212.176 Zookeeper集群环境搭建 1.每台服务器节点上安装jdk1.8环境 使用java-v命令测试 2.每台服务器节点上安装Zookeeper 1.下载并且安装zookeeper安装包 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookee

魔法革1996 157

快速搭建 Zookeeper+Kafka 高可用集群环境

1、概念和方案 本文只介绍快速的搭建方案,不啰嗦哈。搭建方案图,如下: Zookeeper独立3台集群(根据项目情况扩展),一台为leader,其他为follower。 Kafka为多节点多broker的集群方案(根据项目情况扩展),不使用kafka自带的zookeeper。 2、部署准备 JDK http://www.oracle.com/technetwork

黄惠(IOT物联网)的专栏 5502

Kafka高可用集群之zookeeper伪集群搭建环境

zookeeper 单机伪集群搭建

点滴记忆,分享成长之路 507

87.分布式消息中间件-Kafka-高可用集群环境kafka环境搭建

一、MQ服务器集群基本的概念 Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。 它最初由LinkedIn公司开发,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。 注意:Kafka并没有遵循JMS规范,它只提...

封神之路 309

微服务架构-分布式消息中间件-087:Kafka-高可用集群环境kafka环境搭建

087:Kafka-高可用集群环境kafka环境搭建1 MQ服务器集群基本的概念2 kafka服务器常用相关名词3 kafka集群节点如何实现相互感知4 kafka集群环境搭建方式实现6 搭建Kafka集群方式实现通讯7 kafka集群实现分区存放不同节点8 SpringBoot如何整合kafka集群 1 MQ服务器集群基本的概念 课程内容: kafka与其他MQ到底有不同? 如何理解kafka Partition与Topic 构建kafka集群环境 SpringBoot整合kafka集群环境 Kafk

枫火的博客 448

Apache Kafka 高可用集群搭建指南

本文详细介绍了 Apache Kafka 高可用集群搭建的各个方面,包括集群规划、环境搭建、配置优化、监控与维护等。通过合理规划集群规模、配置参数和监控工具,可以确保 Kafka 集群稳定、高效地运行。在未来的研究和实践中,还可以进一步探索 Kafka 集群在性能优化、故障恢复等方面的潜在优化空间。

2501_92487756的博客 474

Kafka【环境搭建 02】kafka_2.11-2.4.1 基于 zookeeper 搭建高可用伪集群(一台服务器实现三个节点的 Kafka 集群)

kafka_2.11-2.4.1 基于 zookeeper 搭建高可用伪集群(一台服务器实现三个节点的 Kafka 集群)

シ風 1031
上一篇: Spring Cloud Stream消息总线
下一篇: Kafaka高可用集群环境搭建
Art&Code
博客等级 码龄7年 77粉丝 554原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值