Kafka
文章平均质量分 79
kafka是最初由linkedin公司开发的,使用scala语言编写,kafka是一个分布式,分区的,多副本的,多订阅者的日
志系统(分布式MQ系统),可以用于搜索日志,监控日志,访问日志等
Lansonli
CSDN大数据领域博客专家,InfoQ写作社区2022年度影响力作者、华为云社区2022年度十佳博主、华为云享专家、阿里云专家博主、腾讯云开发者社区2022年度最佳作者、腾云先锋(TDP)核心成员、51CTO专家博主,全网二十万多粉丝,知名互联网公司大数据高级开发工程师
展开
-
大数据Kafka(十二):Kafka配额限速机制
生产者和消费者以极高的速度生产/消费大量数据或产生请求,从而占用broker上的全部资源,造成网络IO饱和。Kafka支持配额管理,从而可以对Producer和Consumer的produce&fetch操作进行流量限制,防止个别业务压爆服务器。为指定的topic进行限速,以下为所有consumer程序设置topic速率不超过1MB/s,即1048576/s。对consumer限速与producer类似,只不过参数名不一样。运行基准测试,观察生产消息的速率。运行基准测试,观察消息消费的速率。原创 2021-09-05 17:45:44 · 4041 阅读 · 16 评论 -
大数据Kafka(十一):Kafka的消费者负载均衡机制和数据积压问题
Kafka的消费者负载均衡机制和数据积压问题一、kafka的消费者负载均衡机制问题: 请问如何通过kafka模拟点对点和发布订阅模式呢?点对点:让所有监听这个topic的消费者, 都属于同一个消费者组即可或者监听这个topic消费者, 保证唯一发布订阅:定义多个消费者, 让多个消费者属于不同组即可二、数据积压问题Kafka消费者消费数据的速度是非常快的,但如果由于处理Kafka消息时,由于有一些外部IO、或者是产生网络拥堵,就会造成Kafka中的数据积压(或称为数据堆积)。如果.原创 2021-09-03 23:58:35 · 3110 阅读 · 95 评论 -
大数据Kafka(十):kafka生产者数据分发策略
kafka在数据生产的时候,有一个数据分发策略。默认的情况使用DefaultPartitioner.class类。这个类中就是定义数据分发的策略原创 2021-08-29 16:55:23 · 4066 阅读 · 24 评论 -
大数据Kafka(九):kafka消息存储及查询机制原理
segment段中有两个核心的文件一个是log,一个是index。当log文件等于1G时,新的会写入到下一个segment中。通过下图中的数据,可以看到一个segment段差不多会存储70万条数据。需求1: 读取 offset=368776 的message消息数据, 数据集如下。原创 2021-08-27 23:59:52 · 3270 阅读 · 45 评论 -
大数据Kafka(八):Kafka如何保证数据不丢失
通过offset commit 来保证数据的不丢失,kafka自己记录了每次消费的offset数值,下次继续消费的时候,会接着上次的offset进行消费。而offset的信息在kafka0.8版本之前保存在zookeeper中,在0.8版本之后保存到topic中,即使消费者在运行过程中挂掉了,再次启动的时候会找到offset的值,找到之前消费消息的位置,接着消费,由于offset的信息写入的时候并不是每条消息消费完成后都写入的,所以这种情况有可能会造成重复消费,但是不会丢失消息。原创 2021-08-21 12:01:43 · 2634 阅读 · 41 评论 -
大数据Kafka(七):Kafka的分片和副本机制
主要解决了单台服务器存储容量有限的问题当数据量非常大的时候,一个服务器存放不了,就将数据分成两个或者多个部分,存放在多台服务器上。每个服 务器上的数据,叫做一个分片原创 2021-08-15 22:59:42 · 2873 阅读 · 16 评论 -
大数据Kafka(六):安装Kafka-Eagle
在开发工作中,当业务前提不复杂时,可以使用Kafka命令来进行一些集群的管理工作。但如果业务变得复杂,例如 :我们需要增加group、topic分区,此时,我们再使用命令行就感觉很不方便,此时,如果使用一个可视化的工具帮助我们完成日常的管理工作,将会大大提高对于Kafka集群管理的效率,而且我们使用工具来监控消费者在Kafka中消费情况。原创 2021-08-13 13:02:57 · 1577 阅读 · 24 评论 -
大数据Kafka(五):Kafka的java API编写
创建包cn.it.kafka,并创建KafkaProducerTest类。接下来,编写Java程序,将1-100的数字消息写入到Kafka中。2) 导入log4j.properties。1) 创建maven项目 导入相关的依赖。原创 2021-08-11 01:59:58 · 4038 阅读 · 48 评论 -
大数据Kafka(四):kafka的shell命令使用
全网最详细的大数据Kafka文章系列,强烈建议收藏加关注!新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点。目录系列历史文章Kafka的shell命令使用一、创建topic二、生产消息到kafka三、从kafka中消费消息四、查看主题的命令五、运行describe的命令六、增加topic分区数七、删除topic八、使用kafka Tools操作Kafka系列历史文章2021年大数据Kafka(四):❤️kafka的shell命令使用...原创 2021-08-08 11:31:23 · 2245 阅读 · 122 评论 -
大数据Kafka(三):Kafka的集群搭建以及shell启动命令脚本编写
为了方便将来进行一键启动、关闭Kafka,我们可以编写一个shell脚本来操作。将来只要执行一次该脚本就可以快速启动/关闭Kafka。Kafka的所有执行脚本都在这里。例如:启动Kafka服务器、创建Topic、生产者、消费者程序等等。Kafka的所有日志文件,如果Kafka出现一些问题,需要到该目录中去查看异常信息。或者通过 zookeeper查看 brokers节点目录下, 是否有三个ids。运行Kafka所需要的所有JAR包。Kafka的所有配置文件。Kafka的网站帮助文件。原创 2021-08-06 23:13:46 · 2660 阅读 · 41 评论 -
大数据Kafka(二):Kafka特点总结和架构
kafka是大数据中一款消息队列的中间件产品, 最早是有领英开发的, 后期将其贡献给了apache 成为apache的顶级项目kafka是采用Scala语言编写 kafka并不是对JMS规范完整实现 仅实现一部分 , kafka集群依赖于zookeeperkafka可以对接离线业务或者实时业务, 可以很好的和apache其他的软件进行集成, 可以做流式数据分析(实时分析)高可靠性: 数据不容易丢失, 数据分布式存储, 集群某个节点宕机也不会影响高可扩展性: 动态的进行添加或者减少集群的节点。原创 2021-08-01 21:34:36 · 3060 阅读 · 24 评论 -
大数据Kafka(一):消息队列和Kafka的基本介绍
什么是消息队列消息队列,英文名:Message Queue,经常缩写为MQ。从字面上来理解,消息队列是一种用来存储消息的队列。来看一下下面的代码上述代码,创建了一个队列,先往队列中添加了一个消息,然后又从队列中取出了一个消息。这说明了队列是可以用来存取消息的总结:消息队列指的就是将数据放置到一个队列中, 从队列一端进入, 然后从另一端流出的过程二、消息队列的应用场景消息队列在实际应用中包括如下四个场景:1、应用耦合:多应用间通过消息队列对同一消息进行处理,避免调用接口失败导致整个过程失败;原创 2021-07-31 14:36:36 · 5381 阅读 · 75 评论