草庐IT

Kafka-eagle

全部标签

Kafka未触发消费异常排查实录

前言:  最近生产环境系统发现一个疑难杂症,看了很久的问题但是始终无法定位到问题并处理,然后查阅了相关资料也是定位不到问题,不过资料查阅却给了个新的思路,以此为跳板最终解决了问题。一、问题描述    功能介绍: “主计划拆分子计划”是APS系统很常见的功能,功能大概意思是用户可选多个主计划一次性进行“展开子计划”生成子计划,因单个主计划生成子计划的逻辑相对复杂,所以单个计划耗时不能算低,故这里的批量操作使用了异步进行,这里使用了Kafka进行生产及消费消息。    问题起因: 功能完成之后上生产系统,然而偶尔会收到客户提出少量单据卡在中间状态,导致“展开”不了的问题,前前后后查了好久也没能找到

【Kafka】SpringBoot 整合 Kafka 以及 @KafkaListener 注解的使用

一、前提已经安装好kafka我是在windows中安装的Kafka,用于在本地测试用的Windows安装kafka二、新建SpringBoot项目1、添加项目依赖org.springframework.kafkaspring-kafka2、添加配置文件application.properties配置中用了批量消费#指定kafkaserver的地址,集群配多个,中间,逗号隔开spring.kafka.bootstrap-servers=127.0.0.1:9092#重试次数spring.kafka.producer.retries=3#批量发送的消息数量spring.kafka.producer

kafka 消息日志原理 & 指定偏移量消费 & 指定时间戳消费

Kafka日志详解ApacheKafka日志存储在物理磁盘上各种数据的集合,日志按照topic分区进行文件组织,每一个分区日志由一个或者多个文件组成。生产者发送的消息被顺序追加到日志文件的末尾。如上图所述,Kafka主题被划分为3个分区。在Kafka中,分区是一个逻辑工作单元,其中记录被顺序附加分区上(kafka只能保证分区消息的有序性,而不能保证消息的全局有序性)。但是分区不是存储单元,分区进一步划分为Segment-段,这些段是文件系统上的实际文件。为了获得更好的性能和可维护性,可以创建多个段,而不是从一个巨大的分区中读取,消费者现在可以更快地从较小的段文件中读取。创建具有分区名称的目录,

【MQ选型】RabbitMQ、RocketMQ、Kafka选型

前言在平常管理团队的时候,肯定会遇到这种情况,某种业务问题,有解决方案的技术有很多种,但是不知道该如何选择,技术选型也是一件非常谨慎的事情,事关日后对应服务的维护和拓展,这里就讲讲RabbitMQ、RocketMQ、Kafka这三款MQ该如何选择选型前提1、产品必须是开源的主要是为了应对实际需求,如果开源产品有一点点不满足或者bug,我们也可以下载源码,潜心钻研一下并修改源码,就可以继续使用,方便且实用2、近几年比较流行的这个不用说了吧,技术大多数情况下,越流行,说明业务场景的解决方案就越成熟3、消息传输是可靠的:保证消息不会丢失这是MQ必须要保证的4、支持集群,可以横向扩展,包括解决单点故障

尚硅谷大数据技术NiFi教程-笔记02【NiFi(使用案例,同步文件、离线同步mysql数据到hdfs、实时监控kafka数据到hdfs)】

尚硅谷大数据技术-教程学习路线-笔记汇总表【课程资料下载】视频地址:尚硅谷大数据NiFi教程(从部署到开发)_哔哩哔哩_bilibili尚硅谷大数据技术NiFi教程-笔记01【NiFi(基本概念、安装、使用)】尚硅谷大数据技术NiFi教程-笔记02【NiFi(使用案例,同步文件、离线同步mysql数据到hdfs、实时监控kafka数据到hdfs)】目录尚硅谷大数据NiFi教程(从部署到开发)第3章-NiFi的使用P10【10_案例一_添加处理器】14:08P11【11_案例一_实现同步文件到hdfs】15:08P12【12_案例二_添加mysql连接池服务】07:07P13【13_案例二_离线

C++实现kafka的生产者客户端

C++实现kafka生产者客户端一、Kafka生产者的逻辑二、Kafka的C++API2.1、RdKafka::Conf2.2、RdKafka::Message2.3、RdKafka::DeliveryReportCb2.4、RdKafka::Event2.5、RdKafka::EventCb2.6、RdKafka::PartitionerCb2.7、RdKafka::Topic2.8、RdKafka::Producer(核心)三、Kafka生产者客户端开发3.1、必要的参数配置(bootstrap.servers)3.2、创建生产者实例3.3、消息发送3.4、完整示例代码总结一、Kafka生

Kafka怎么保证数据不丢失,不重复

生产者数据不丢失Kafka的ack机制:在kafka发送数据的时候,每次发送消息都会有一个确认反馈机制,确保消息正常能够被收到,其中状态有0,1,-1.ack=0:producer不等待broker同步完成的确认,继续发送下一条(批)信息。ack=1(默认):producer要等待leader成功收到数据并确认,才发送下一条message。ack=-1:producer得到follower确认,才发送下一条数据。同步模式:ack设置为0,风险很大,一般不建议设置为0。即使设置为1,也会随着leader宕机丢失数据。所以如果要严格保证生产端数据不丢失,可设置为-1。异步模式:也会考虑ack的状态

在Windows下的flume 安装,部署及和kafka组合使用

注意:如果是做kafka链接flume实验的小伙伴,可以直接从第五步开始一,Windows下配置环境变量此电脑->右键属性->系统->高级系统设置->环境变量(1)环境变量名:FLUME_HOME变量值:就是安装的flume的路径例如我自己的是:FLUME_HOME;E:\flume\apache-flume-1.9.0-bin(2)在path变量中添加%FLUME_HOME%\conf;%FLUME_HOME%\bin;然后依次保存我们所做的修改即可。 编辑 apache-flume-1.9.0-bin\conf下的flume-env.sh(如果没有,复制flume-env.sh.templ

【kafka】kafka topic 扩分区、副本

如何给Kafka新增分区https://blog.csdn.net/qq_24434251/article/details/105712760kafka如何扩容服务器、重新分区Partitionhttps://blog.csdn.net/gezilan/article/details/80412490kafka-partition分配的策略https://www.cnblogs.com/yb38156/p/14722534.htmlkafkarebalance机制https://blog.csdn.net/u012813201/article/details/116169880Kafka增加分

Kafka之分区副本与ISR

概念什么是副本Kafka的Topic分区本质是一个用于存储Topic下的消息的日志,但是只存一份日志会因为机器损坏或其他原因导致消息丢失不可恢复,因此需要多个相同的日志作为备份,提高系统可用性,这些备份在kafka中被称为副本(replica)。kafka将分区的所有副本均匀的分配到所有broker上,并从这些副本中选取一个作为leader副本对外提供读写服务,其他副本则被称为follower副本,只能被动的向leader副本请求数据以此保持和leader副本的状态同步。什么是ISR在生产环境下,因为各种不可抗因素,服务可能会发生宕机,例如对外提供服务的leader副本,如果其发生宕机不可用,