![](https://img-blog.csdnimg.cn/146192d76b4142c594784cb04103bde7.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Apache kafka
文章平均质量分 81
Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming anal
swadian2008
不积跬步,无以至千里;不积小流,无以成江海
展开
-
kafka生产者消息发布机制剖析
目录1、写入方式2、消息路由3、写入流程4、HW与LEO详解1、写入方式producer 采用 push 模式将消息发布到 broker,每条消息都被 append 到 patition 中,属于顺序写磁盘(顺序写磁盘效率比随机写内存要高,保障 kafka 吞吐率)。2、消息路由producer 发送消息到 broker 时,会根据分区算法选择将其存储到哪一个 partition。其路由机制为:指定了 patition,则直接使用; 未指定 patition 但指定 k原创 2022-04-02 13:53:33 · 261 阅读 · 0 评论 -
kafka消费者Rebalance机制
1、Rebalance机制rebalance就是说如果消费组里的消费者数量有变化或消费的分区数有变化,kafka会重新分配消费者消费分区的关系。比如consumer group中某个消费者挂了,此时会自动把分配给他的分区交给其他的消费者,如果他又重启了,那么又会把一些分区重新交还给他。注意:rebalance只针对subscribe这种不指定分区消费的情况,如果通过assign这种消费方式指定了分区,kafka不会进行rebanlance。如下情况可能会触发消费者rebalance消费组里的原创 2022-04-02 12:29:25 · 5077 阅读 · 1 评论 -
kafka-Controller选举、Leader选举、消费者offset记录
目录1、Kafka核心总控制器ControllerController选举机制2、Partition副本选举Leader机制3、消费者消费消息的offset记录机制1、Kafka核心总控制器Controller在Kafka集群中会有一个或者多个broker,其中有一个broker会被选举为控制器(Kafka Controller),它负责管理整个集群中所有分区和副本的状态。当某个分区的leader副本出现故障时,由控制器负责为该分区选举新的leader副本。 当检测到某个分原创 2022-04-04 21:17:02 · 688 阅读 · 0 评论 -
Spring Boot 整合Kafka
引入spring boot kafka依赖<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId></dependency>application.properties配置如下:spring.kafka.bootstrap-servers=192.168.3.36:909原创 2022-03-30 15:29:39 · 160 阅读 · 0 评论 -
Java客户端访问Kafka(集群)
目录引入客户端maven依赖消息发送端代码消息接收端代码有关Kafka集群的搭建,请参考我的这两篇文章《kafka的安装和基本使用(命令)》,《kafka集群实战》引入客户端maven依赖注意客户端代码版本,同时请使用干净的安装包,我曾经因为拿了别人的安装包,被坑在原地好多天。<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka原创 2022-03-29 09:46:39 · 3646 阅读 · 2 评论 -
kafka集群实战
目录一、集群搭建二、容错性测试三、集群消费//注,本文接《kafka的安装和基本使用》,可以在我的博客中看到^_^一、集群搭建对于kafka来说,一个单独的Broker意味着kafka集群中只有一个节点。要想增加kafka集群中的节点数量,只需要多启动几个Broker实例即可。为了有更好的理解,现在我们在一台机器上同时启动三个Broker实例。首先,我们需要建立好其他2个Broker的配置文件:cp config/server.properties config/serv.原创 2022-03-28 20:45:44 · 1510 阅读 · 0 评论 -
kafka中的消息(topic)和日志(log)
目录一、消息和日志的关系二、查看Kafka主题(Topic)情况三、查看Kafka数据存储(Log)情况一、消息和日志的关系可以理解Topic是一个类别的名称,同类消息发送到同一个Topic下面。对于每一个Topic,下面可以有多个分区(Partition)日志文件:Partition是一个有序的message序列(消息队列),这些message按顺序添加到一个叫做commit log的文件中。每个partition中的消息都有一个唯一的编号,称之为offset,用来唯一标示某个原创 2022-03-28 20:45:00 · 9828 阅读 · 12 评论 -
kafka的安装和基本使用(命令)
目录一、kafka的安装一、kafka的基本使用一、kafka的安装安装前的环境准备由于Kafka是用Scala语言开发的,运行在JVM上,因此在安装Kafka之前需要先安装JDK。JDK的压缩包安装方法,篇文章里有:Linux系统(Centos7)——安装tomcat,也可以在线安装。yum install java-1.8.0-openjdk* -ykafka依赖zookeeper,所以需要先安装zookeeper//Apache Kafka2.8版本之后可以不需要原创 2022-03-28 17:42:17 · 962 阅读 · 0 评论 -
kafka的docker安装和压缩包安装——修改中
一、kafka的docker安装1、安装zookeeper运行kafka需要使用Zookeeper,所以你需要先启动Zookeeperdocker run -d --name zookeeper \-p 2181:2181 \-v /etc/localtime:/etc/localtime \wurstmeister/zookeeper2、安装kafkadocker run -d --name kafka -p 9092:9092 \-e KAFKA_BROKER_ID=0原创 2021-08-08 23:37:06 · 1210 阅读 · 0 评论 -
kafka安装和相关命令操作——修改中
一、kafka开发环境安装kafka的安装需要先安装docker,如果之前没有安装过docker,可以看我的这篇文章进行安装Docker镜像、容器和数据管理为了方便一次性安装kafka的开发环境,我们使用github开源的镜像https://github.com/Landoop/fast-data-dev安装命令,可以直接用,不用改动任何东西docker run --rm -it \-p 2181:2181 -p 9092:9092 -p 3030:3030 \-p 8081:原创 2021-07-19 18:31:34 · 425 阅读 · 2 评论 -
Kafka核心基础和基本概念
目录Kafka的基本概念生产数据——工作流程分析1、写入指定的partition,顺序排列2、如何确保数据不丢失消费数据Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、Storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用sca原创 2021-07-19 14:03:54 · 719 阅读 · 2 评论