kafka
道法—自然
不积跬步,无以至千里;不积小流,无以成江海。——荀子
展开
-
kafka的leader均衡机制
kafka的leader的均衡机制当一个broker停止或者crashes时,所有本来将它作为leader的分区将会把leader转移到其他broker上去,极端情况下,会导致同一个leader管理多个分区,导致负载不均衡,同时当这个broker重启时,如果这个broker不再是任何分区的leader,kafka的client也不会从这个broker来读取消息,从而导致资源的浪费。kafka...原创 2018-09-04 09:05:28 · 1676 阅读 · 1 评论 -
kafka中的几个基本概念
Kafka架构是由producer(消息生产者)、consumer(消息消费者)、borker(kafka集群的server,负责处理消息读、写请求,存储消息,在kafka cluster这一层这里,其实里面是有很多个broker)、topic(消息队列/分类相当于队列,里面有生产者和消费者模型)、zookeeper(元数据信息存在zookeeper中,包括:存储消费偏移量,topic话题信息,p...原创 2018-11-30 00:12:35 · 732 阅读 · 0 评论 -
kafka中配置参数的说明
每个kafka broker中配置文件server.properties默认必须配置的属性如下:broker.id=0 num.network.threads=2 num.io.threads=8 socket.send.buffer.bytes=1048576 socket.receive.buffer.bytes=1048576 socket.request....原创 2018-11-30 00:23:01 · 695 阅读 · 0 评论 -
Kafka 源代码分析之LogSegment
这里分析kafka LogSegment源代码通过一步步分析LogManager,Log源代码之后就会发现,最终的log操作都在LogSegment上实现.LogSegment负责分片的读写恢复刷新删除等动作都在这里实现.LogSegment代码同样在源代码目录log下.LogSegment是一个日志分片的操作最小单元.直接作用与messages之上.负责实体消息的读写追加等等.Log...原创 2018-11-30 00:29:41 · 199 阅读 · 0 评论 -
kafka一直重复消费消息
大概意思是1、kafka conusmer会拉取一批消息,然后进行处理,但在代码中sleep了5000MS,consumer在session.timeout.ms(15000MS)时间之内没有消费完成consumer coordinator会由于没有接受到心跳而挂掉2coordinator挂掉了,然后自动提交offset失败,然后重新分配partition给客户端3、由于自动提交off...原创 2018-11-27 23:04:12 · 2797 阅读 · 0 评论 -
关于kafka的一点理解
今天面试问到同一个消费者组中的不同消费者消费同一个kafka中的数据,怎么消费的。我的理解是这种情况是不行的,为什么,因为这样消费会造成消费重复。但是他举得例子是就如同买报纸,谁先到谁先买。我后来问别人,这种情况确实不行。但是不同消费者组内的消费者可以消费同一个partition中或者同一个topic中的消息,各人消费各人的,互不影响。同一个消费者组内的只能称为消费线程,消费线程和pa...原创 2018-11-27 23:13:35 · 110 阅读 · 0 评论 -
关于kafka的一点理解
在sparkstreaming 中消费kafka中的数据,用zookeeper去记录消费者偏移量,这个是kafka 0.9以前的,0.9以后,kafka中的broker会自己记录消费者偏移量的。 首先我要纠正一下,Kafka只是缓存中间件,它本身不消费数据,说Kafka消费不过来数据,本身在概念上就错了,如果生产者生产的数据Kafka处理不了,首先想到的应该是增加topic的分区数,增加并发写...原创 2018-11-27 23:38:07 · 192 阅读 · 0 评论 -
kafka 防止数据丢失
kafka防止数据丢失采用的是同步和异步-1,0,1设置ack的参数保证数据不丢失:1、保证生产者数据不丢失2、保证消费者数据不丢失原创 2018-12-10 21:42:22 · 611 阅读 · 0 评论 -
kafka中关于消息的命令
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginningbin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test6 --from-beginningbin/kaf...原创 2018-12-11 21:31:58 · 1961 阅读 · 0 评论 -
kafka 的学习
kafka是什么?使用场景? kafka是一个高吞吐的分布式消息队列系统。特点是生产者消费者模式,先进先出(FIFO)保证顺序,自己不丢数据,默认每隔7天清理数据。消息列队常见场景:系统之间解耦合、峰值压力缓冲、异步通信。kafka生产消息、存储消息、消费消息Kafka架构是由producer(消息生产者)、consumer(消息消费者)、borker(kafka集群的server,负...原创 2018-11-29 23:59:38 · 209 阅读 · 0 评论 -
kafka的存储机制与查询机制
Kafka中的Message是以topic为基本单位组织的,不同的topic之间是相互独立的。每个topic又可以分成几个不同的partition(每个topic有几个partition是在创建topic时指定的),每个partition存储一部分Message。借用官方的一张图,可以直观地看到topic和partition的关系。partition是以文件的形式存储在文件系统中,比如,创建...原创 2018-11-29 21:19:58 · 449 阅读 · 0 评论 -
kafka的基本原理介绍
Kafkkafka是什么?使用场景? kafka是一个高吞吐的分布式消息队列系统。特点是生产者消费者模式,先进先出(FIFO)保证顺序,自己不丢数据,默认每隔7天清理数据。消息列队常见场景:系统之间解耦合、峰值压力缓冲、异步通信。2.kafka生产消息、存储消息、消费消息Kafka架构是由producer(消息生产者)、consumer(消息消费者)、borker(kafka集群...原创 2018-09-04 09:13:57 · 201 阅读 · 0 评论 -
SparkStreaming+kafka的Direct模式的整合
SparkStreaming+Kafkareceiver模式receiver模式原理图 receiver模式理解:在SparkStreaming程序运行起来后,Executor中会有receiver tasks接收kafka推送过来的数据。数据会被持久化,默认级别为MEMORY_AND_DISK_SER_2,这个级别也可以修改。receiver task对接收过来的数据进行存储和备...原创 2018-09-07 23:37:52 · 893 阅读 · 0 评论 -
删除kafka中的数据
删除kafka中的数据。 :在kafka集群中删除topic,当前topic被标记成删除。 ./kafka-topics.sh --zookeeper node3:2181,node4:2181,node5:2181 --delete --topic t1205 在每台broker节点上删除当前这个topic对应的真实数据。 :进入zookeeper客户端,删除topi...原创 2018-11-24 10:17:27 · 2794 阅读 · 0 评论 -
在kafka中,删除topic中的数据
删除topic里面的数据这里没有单独的清空数据的命令,这里要达到清空数据的目的只需要以下步骤:一、如果当前topic没有使用过即没有传输过信息:可以彻底删除。二、 如果当前topic有使用过即有过传输过信息:并没有真正删除topic只是把这个topic标记为删除(marked for deletion)。想要彻底删除topic数据要经过下面两个步骤:①:删除topic,重新用创建t...原创 2018-11-24 10:22:16 · 18345 阅读 · 1 评论 -
kafka中的基本概念以及大体框架图
在kafka中,具有以下概念:1、producer:负责往kafka中生产数据,具体生产到哪一个partition中去,是由partition自己决定的2、consumer:负责消费消息,每个consumer具有自己的消费者组,组与组之间可以消费同一个topic下的数据,但是同一个组内的不同consumer不能消费同一个topic下的数据。3、broker:组成kafka集群的节点,b...原创 2018-11-24 10:39:00 · 245 阅读 · 0 评论 -
kafka查询最新producer offset的命令
--查看topic消费进度(不是consumer的offset)bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list node1:9092,node2:9092,node3:9092 --topic mytopic --time -1 -1表示查询 mytopic 各个分区当前最大的消息位移值(注意,这里的位移不是con...原创 2018-11-24 10:47:28 · 7169 阅读 · 2 评论 -
SparkStreaming+kafka的receiver模式与direct模式
1、SparkStreaming+kafka的receiver模式2、SparkStreaming+kafka的direct模式两者的区别是:基于receiver模式是借助外界的东西:比如kafka,等来维护消费者偏移量的。并且是node1接收到数据之后,首先发送给node2和node3,之后再在zookeeper中做备份,然后在发送到driver端去执行,driver去监控tas...原创 2018-11-24 11:25:50 · 1283 阅读 · 0 评论 -
kafka怎么做到不丢失数据,不重复数据,以及kafka中的数据是存储在什么地方的?
昨天面试中被问到kafka怎么做到对于数据的不丢失,不重复。首先怎么做到不重复消费呢?在kafka的消费中,我们一般使用zookeeper充当kafka的消费者,去消费kafka中的数据。那么怎么做到不重复消费呢?假如消费了一段时间之后,kafka挂掉了,这时候需要将sparkstreaming拉起来,然后继续进行消费。那么这时候是不是又进行从头开始消费了呢?不是的,因为kafka中有一个...原创 2018-11-29 20:36:23 · 5519 阅读 · 1 评论 -
kafka的正确启动方式
nohup ./bin/kafka-server-start ./config/server-properties &原创 2019-03-04 15:38:26 · 1807 阅读 · 0 评论