
kafka
文章平均质量分 79
ywl470812087
个人简介:深耕物联网行业,ERP,优快云博客专家。 任职华为网联网智慧照明、空调资深工程师,并且上线投产使用,研发企业亿量级吞吐中间件。 擅长 Java语言、C语言等。
展开
-
大数据技术之 Kafka (第 3 章 Kafka 架构深入 ) Kafka 消费者
3.3.1 消费方式consumer 采用 pull(拉)模式从 broker 中读取数据。push(推)模式很难适应消费速率不同的消费者,因为消息发送速率是由 broker 决定的。它的目标是尽可能以最快速度传递消息,但是这样很容易造成 consumer 来不及处理消息,典型的表现就是拒绝服务以及网络拥塞。而 pull 模式则可以根据 consumer 的消费能力以适当的速率消费消息...原创 2020-04-05 15:54:32 · 95453 阅读 · 0 评论 -
大数据技术之 Kafka (第 4 章 Kafka API ) Producer API
4.1.1 消息发送流程Kafka 的 Producer 发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程,以及一个线程共享变量——RecordAccumulator。main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 RecordAccumulator 中拉取消息发送到 Kafka broke...原创 2020-04-19 18:48:14 · 98325 阅读 · 0 评论 -
大数据技术之kafka (第 3 章 Kafka 架构深入) 分区策略在分析
默认的方式我们采用的是Range策略方式(按主题给消费者消费,主题被谁订阅了就谁消费)先看下下面这个图,画的很丑,将就看看吧我们从图知道现在有两个主题T1 和 T2它们都有[0,1,2]三个分区,现在有3个消费者A、B、CA和B是同一个组的,C单独一个组。消费者A和B、C都订阅了主题T1 ,T2主题只有消费者B订阅了消费的时候,因为T2主题只有B消费者订...原创 2020-04-19 17:12:27 · 115303 阅读 · 0 评论 -
大数据技术之kafka (第 3 章 Kafka 架构深入) Kafka 事务
Kafka 从 0.11 版本开始引入了事务支持。事务可以保证 Kafka 在 Exactly Once 语义的基础上,生产和消费可以跨分区和会话,要么全部成功,要么全部失败3.6.1 Producer 事务为了实现跨分区跨会话的事务,需要引入一个全局唯一的 Transaction ID,并将 Producer获得的PID和Transaction ID绑定。这样当Producer重启后就...原创 2020-04-07 22:21:41 · 119141 阅读 · 0 评论 -
大数据技术之kafka (第 3 章 Kafka 架构深入) Zookeeper 在 Kafka 中的作用
Kafka 集群中有一个 broker 会被选举为 Controller,负责管理集群 broker 的上下线,所有 topic 的分区副本分配和 leader 选举等工作。Controller 的管理工作都是依赖于 Zookeeper 的。以下为 partition 的 leader 选举过程: Leader选举流程...原创 2020-04-07 22:16:50 · 117432 阅读 · 0 评论 -
大数据技术之kafka (第 3 章 Kafka 架构深入 ) 高效读写数据
1)顺序写磁盘Kafka 的 producer 生产数据,要写入到 log 文件中,写的过程是一直追加到文件末端,为顺序写。官网有数据表明,同样的磁盘,顺序写能到 600M/s,而随机写只有 100K/s。这与磁盘的机械机构有关,顺序写之所以快,是因为其省去了大量磁头寻址的时间。2)零复制技术这个0拷贝到底什么意思呢?假如你本地磁盘某个目录下有一个1.txt文件,要写到2...原创 2020-04-07 21:56:38 · 103633 阅读 · 0 评论 -
大数据技术之kafka (第 3 章 Kafka 架构深入 ) 消费者组案例
1)需求:测试同一个消费者组中的消费者,同一时刻只能有一个消费者消费。2)案例实操(1)在backupo01、backupo02上修改/usr/local/hadoop/kafka/kafka_2.12-2.4.1/config/consumer.properties 配置文件中的 group.id 属性为任意组名。[root@backup01 config]$ vim c...原创 2020-04-06 14:34:51 · 113508 阅读 · 0 评论 -
大数据技术之kafka (第 3 章 Kafka 架构深入 ) offset讲解
新版的 Kafka 使用一个选举出来的 controller 来监听 zookeeper,其他 node 再去和 controller 通信,这么做的目的是为了减少 zookeeper 的压力。bootstrap-servers 会自动发现其他 broker,这也是 bootstrap 的含义前面我们讲到了消费者,接下来我们详细讲下消费者个数改变,分区重新分配是如何接着消费的首先我们还是一...原创 2020-04-06 13:16:26 · 122959 阅读 · 0 评论 -
新版本ISR 为啥 移除replica.lag.max.messages这个参数
ISR上节我们涉及到ISR (In-Sync Replicas),这个是指副本同步队列。副本数对Kafka的吞吐率是有一定的影响,但极大的增强了可用性。默认情况下Kafka的replica数量为1,即每个partition都有一个唯一的leader,为了确保消息的可靠性,通常应用中将其值(由broker的参数offsets.topic.replication.factor指定)大小设置为大于1,...原创 2020-04-04 08:58:09 · 106112 阅读 · 0 评论 -
大数据技术之 Kafka (第 3 章 Kafka 架构深入 ) Kafka 生产者
3.2.1 分区策略1)分区的原因(1)方便在集群中扩展,每个 Partition 可以通过调整以适应它所在的机器,而一个 topic又可以有多个 Partition 组成,因此整个集群就可以适应任意大小的数据了;(2)可以提高并发,因为可以以 Partition 为单位读写了。2)分区的原则我们需要将 producer 发送的数据封装成一个 ProducerRecord 对象...原创 2020-04-01 22:04:46 · 118333 阅读 · 0 评论 -
大数据技术之 Kafka (第 3 章 Kafka 架构深入 ) Log存储解析
Kafka 工作流程Kafka 中消息是以 topic 进行分类的,生产者生产消息,消费者消费消息,都是面向 topic的。topic 是逻辑上的概念,而 partition 是物理上的概念,每个 partition 对应于一个 log 文件,该 log 文件中存储的就是 producer 生产的数据。Producer 生产的数据会被不断追加到该log 文件末端,且每条数据都有自己的...原创 2020-03-31 21:32:43 · 112166 阅读 · 0 评论 -
Kafka史上最详细原理总结
原文链接:https://blog.youkuaiyun.com/u013573133/article/details/48142677转载 2020-03-30 22:04:09 · 124009 阅读 · 0 评论 -
kafka:topic为什么要进行分区?副本机制是如何做的?
kafka为什么要在topic里加入分区的概念?如果没有分区,topic中的segment消息写满后,直接给订阅者不是也可以吗?Kafka可以将主题划分为多个分区(Partition),会根据分区规则选择把消息存储到哪个分区中,只要如果分区规则设置的合理,那么所有的消息将会被均匀的分布到不同的分区中,这样就实现了负载均衡和水平扩展。另外,多个订阅者可以从一个或者多个分区中同时消费数据,以支撑...转载 2020-03-30 22:03:00 · 112883 阅读 · 1 评论 -
Kafka 命令行操作
1)查看当前服务器中的所有 topicbin/kafka-topics.sh --zookeeper backup01:2181使用命令 bin/kafka-topics.sh --list 报异常,提示必须依赖zookeeper 前面我们就讲过kafka是依赖于zookeeper连上zookeeper什么都没有输出,因为我们什么消息也没有,我们需要创建topic...原创 2020-03-29 15:54:46 · 104643 阅读 · 0 评论 -
kafka通过脚本一次启动集群
kafka 群起脚本for i inbackup01backup02backup03do echo "========== $i ==========" ssh $i '/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties' done...原创 2020-03-29 14:00:45 · 110447 阅读 · 0 评论 -
启动kafka失败报内存不足(Cannot allocate memory)
原因分析,因为我的虚拟机内存一共才1G查看一下我的虚拟机内存还剩余多少?天呐,我的只有60M了我们看下kafka的启动脚本vim kafka-server-start.sh看见下面的脚本文件内容没有,默认是1G,而我只有60M,启动肯定报内存不足,怎么办呢?当然我们就需要给虚拟机增加内存如何怎么内存?...原创 2020-03-29 10:48:13 · 113575 阅读 · 0 评论 -
大数据技术之 Kafka (第 2 章 Kafka快速入门)
第 2 章 Kafka 快速入门下载安装一、安装1.需要jdk2.需要zookeeper,这个东西在最新版的Kafka中内置。3.下载Kafka安装包 (下载官网地址:http://kafka.apache.org/downloads.html)这里我选择了最新版本下载,然后上传到c...原创 2020-03-28 17:24:13 · 120465 阅读 · 0 评论 -
大数据技术之 Kafka (第 1 章 Kafka 概述)
第 1 章 Kafka 概述1.1 定义Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。1.2 消息队列1.2.1 传统消息队列的应用场景MQ传统应用场景之异步处理使用消息队列的好处1)解耦允许你独立的扩展或修改两...原创 2020-03-28 15:56:07 · 100682 阅读 · 2 评论