Kafka
情深不仅李义山
路漫漫其修远兮,吾将上下而求索.
展开
-
Kafka中的CAP机制
文章目录CAP理论AvailabilityPartition toleranceConsistency小结Kafka的CAP应用CAP理论在分布式系统中,各个节点的状态是如何同步的成了最大的难点,为了解决各个节点之间的状态同步问题,在1998年,由加州大学的计算机科学家 Eric Brewer 提出分布式系统的三个指标,分别是Consistency:一致性,Availability:可用性,Partition tolerance:分区容错性。下面来聊聊这三个指标。AvailabilityAvaila原创 2020-10-17 19:37:39 · 2483 阅读 · 0 评论 -
生产者生产数据如何保证数据不丢失
文章目录分区同步机制ack机制分区同步机制我们一般在创建topic的时候,为了保证安全可靠,都会设置多个分区,各个分区也有leader和follower之分,消费者消费数据只会从leader中消费,follower只负责同步leader分区的数据,一般有多少个follower就启动多少个线程来同步leader的数据。大家想一想,会不会有这种可能,生产者向leader中生产了10000条数据,而其中一个follower只同步了5000条就宕机了,kafka如何解决这个问题?欲知详情,请听下回分解!ack原创 2020-10-17 16:24:51 · 344 阅读 · 0 评论 -
Kafka的log存储机制
文章目录log文件分析log文件组成索引文件和数据文件命名分析索引文件和数据文件内容分析log文件分析log文件组成在我们搭建Kafka集群的时候,一般都会配置日志文件的路径,我们可以通过该路径找到kafka的日志文件,log文件与partition关系如下图所示:Kafka的日志文件可以可以说由对个segment file组成,一个segment file由一个xx…x.log数据文件和一个xx…x.index文件组成,当单个数据文件达到1GB(默认),就会生成新的segment file,所以,一原创 2020-10-17 15:46:01 · 179 阅读 · 0 评论 -
Kafka之数据重复和数据丢失原因
文章目录概述数据重复原因数据丢失原因提交偏移量概述我们都知道,消息在Kafka中是有偏移量的,这个偏移量可以记录消息被消费到哪里了,方便下次消费的时候知道从哪开始消费,那Kafka是怎么记录到数据被消费的偏移量的呢?其实有两种方式,第一种就是消费者把数据消费了再把偏移量提交给Kafka;第二种就是提交了偏移量再把数据发给Kafka。数据丢失或者重复的原因就在这里了。数据重复原因当数据给消费者消费之后,由于网络或者各种原因,导致偏移量没能提交给Kafka,这时的偏移量还是上次记录的偏移量,Kafka就原创 2020-10-16 21:20:04 · 535 阅读 · 0 评论 -
Kafka生产者数据分发策略
文章目录概述代码实现概述Kafka生产者在分发数据时(多分区),一般是怎么发送数据呢?要想得到答案,我们不妨通过源码找到,Kafka默认使用DefaultPartitioner.class的分发策略,下面为源码的注释,让我们一起来解读一下:/**The default partitioning strategy:<ul><li>If a partition is specified in the record, use it<li>If no partiti原创 2020-10-16 20:57:51 · 567 阅读 · 0 评论 -
spark连接kafka的两种方式
Reciver方式spark streaming通过Reciver方式获取kafka的数据实质是:在spark程序的Executor中开Reciver来接收来自kafka的数据,然后spark streaming会启动job去处理这些数据。因为这些数据是存在内存中的,所以这种方式会容易丢失数据,如果要启用高可靠机制,让数据零丢失,就必须启用Spark Streaming的预写日志机制(Write Ahead Log,WAL)。该机制会同步地将接收到的Kafka数据写入分布式文件系统(比如HDFS)上..原创 2020-07-30 23:57:50 · 2823 阅读 · 0 评论