
kafka
文章平均质量分 83
阿宁呀
大数据,数据挖掘。
展开
-
【大数据之Kafka】十七、Kafka集成外部系统之集成Spark
Spark 是一个在大数据开发中非常常用的组件。可以用于 Kafka 的生产者,也可以用于Spark 的消费者。提前准备Scala环境。(1)创建一个 maven 项目 spark-kafka;(2)在项目 spark-kafka 上点击右键,Add Framework Support => 勾选 scala;(3)在 main 下创建 scala 文件夹,并右键 Mark Directory as Sources Root =>在 scala 下创建包名为 com.study.spark。原创 2024-06-06 11:41:03 · 356 阅读 · 0 评论 -
【大数据之Kafka】十六、Kafka集成外部系统之集成Flume
Flume 是一个在大数据开发中非常常用的组件。可以用于 Kafka 的生产者,也可以用于 Kafka 的消费者。原创 2023-09-21 22:15:00 · 412 阅读 · 1 评论 -
【大数据之Kafka】十五、Kafka-Kraft模式
左图为 Kafka 现有架构,元数据在 zookeeper 中,运行时动态选举 controller,由controller 进行 Kafka 集群管理。右图为 kraft 模式架构(实验性),不再依赖 zookeeper 集群,而是用三台 controller 节点代替 zookeeper,元数据保存在 controller 中,由 controller 直接进行 Kafka 集群管理。好处:(1)Kafka 不再依赖外部框架,而是能够独立运行;原创 2023-09-20 15:30:00 · 854 阅读 · 1 评论 -
【大数据之Kafka】十四、Kafka-Eagle监控
Kafka-Eagle 框架可以监控Kafka 集群的整体运行情况,在生产环境中经常使用。原创 2023-09-19 12:00:00 · 296 阅读 · 0 评论 -
【大数据之Kafka】十三、Kafka消费者生产经验之分区的分配及再平衡、数据积压和消费者事务
一个consumer group中有多个consumer组成,一个 topic有多个partition组成,使用分区分配策略决定由哪个consumer来消费哪个partition的数据。Kafka有四种主流的分区分配策略: Range、RoundRobin、Sticky、CooperativeSticky。通过配置参数partition.assignment.strategy,修改分区的分配策略。默认策略是Range + CooperativeSticky。Kafka可以同时使用多个分区策略。原创 2023-09-18 15:36:24 · 1023 阅读 · 0 评论 -
【大数据之Kafka】十二、Kafka之offset位移及漏消费和重复消费
依次启动CustomConsumerAutoOffset和CustomProducerCallback,观察CustomConsumerAutoOffset能不能接受到数据,能接受则说明自动提交offset功能是ok的。先提交offset后消费、设置offset为手动提交,当offset被提交时,数据还在内存中国没有落盘,此时刚好消费者线程被kill掉。虽然自动提交offset十分简单便利,但由于其是基于时间提交的,开发人员难以把握offset提交的时机。例如:提交offset后的2s,消费者挂了。原创 2023-09-13 17:15:00 · 1365 阅读 · 0 评论 -
【大数据之Kafka】十一、Kafka消费者及消费者组案例
(3)在 IDEA 中执行生产者程序 CustomProducerCallback()在控制台观察生成几个 0 号分区的数据。(1)复制两份CustomConsumer的代码,并在 IDEA 同时启动,即一个消费者组中有三个消费者。(1)需求:创建一个独立消费者,消费 first 主题 0 号分区的数据。(4)在 Kafka 集群控制台,创建 Kafka 生产者,并输入数据。(1)需求:测试同一个主题的分区数据,只能由一个消费者组中的一个消费。(1)需求:创建一个独立消费者,消费 first 主题中数据。原创 2023-09-12 12:45:00 · 351 阅读 · 0 评论 -
【大数据之Kafka】十、Kafka消费者工作流程
(1)pull(拉)模式:消费者从broker中主动拉取数据。(Kafka中使用)不足:如果Kafka中没有数据,消费者可能会陷入循环,一直返回空数据。(2)push(推)模式:Kafka中不适用此种方式,因为broker决定消息发送速率,很难适应所有消费者的消费速度。原创 2023-09-11 16:09:22 · 826 阅读 · 0 评论 -
【大数据之Kafka】九、Kafka Broker之文件存储及高效读写数据
Topic是逻辑上的概念,而,该log文件中存储的是Producer生产的数据。会被不断,为防止log文件过大导致数据定位效率低下,Kafka采取了,将每。每个segment包括:“.index”文件、“.log”文件和.timeindex等文件。这些文件位于一个文件夹下。文件夹的命名规则为:topic名称+分区序号,例如:first-0。topic数据存储位置:(1)启动生产者并发送消息。原创 2023-09-07 17:45:00 · 306 阅读 · 0 评论 -
【大数据之Kafka】八、Kafka Broker之生产经验
对于broker0节点,分区2的AR优先副本是0节点,但0节点不是Leader节点,所以不平衡数+1,AR副本总数为4,所以broker0节点不平衡率为1/4>10%,需要平衡。对于broker2节点,分区3的AR优先副本是2节点,但2节点不是Leader节点,所以不平衡数+1,AR副本总数为4,所以broker2节点不平衡率为1/4>10%,需要平衡。对于broker1节点,分区1的AR优先副本是1节点,且1节点是Leader节点,所以不平衡数为0,broker1节点不平衡率为0,不需要平衡。原创 2023-09-06 14:30:00 · 139 阅读 · 0 评论 -
【大数据之Kafka】七、Kafka Broker之Kafka副本
(7) 生产者往集群发送数据,发送数据之后Leader主动与Follower进行同步(底层通过LOG进行存储,实际为segment,分为.log文件和.index文件)再进行应答。(4)故障Follower恢复后,Follower会读取本地磁盘记录的上次的HW,并将log文件高于HW的部分截取去掉(认为是没有验证过的),从HW开始向Leader进行同步。(3)为保证多个副本之间的数据一致性,其余的Follower会先将各自的log文件高于HW的部分截掉,然后从新的Leader同步数据。原创 2023-09-05 18:41:12 · 811 阅读 · 0 评论 -
【大数据之Kafka】六、Kafka Broker工作流程
(7) 生产者往集群发送数据,发送数据之后Leader主动与Follower进行同步(底层通过LOG进行存储,实际为segment,分为.log文件和.index文件)再进行应答。(6) 其它的controller节点会冲zookeeper上拉取数据进行同步(防止controllerLeader挂了,随时上位)。(5) Controller将节点的Leader信息和isr信息写到zookeeper上。(3) 选举出来的controller监听/brokers/ids/节点的变化。原创 2023-08-30 13:15:00 · 230 阅读 · 0 评论 -
【大数据之Kafka】五、Kafka生产者之生产经验
acks=-1或all时,生产者发送数据给Leader,Leader接受到数据后返回确认ack给生产者并同步数据到副本,此时Leader挂了,但是生产者并没有接收到返回的ack,所以生产者重新给新的Leader发送数据,导致数据重复。acks=-1或all时,生产者发送数据给Leader,Leader接受到数据后返回确认ack给生产者并同步数据到副本,此时Leader挂了,但是生产者并没有接收到返回的ack,所以生产者重新给新的Leader发送数据,导致数据重复。所以幂等性只能保证的是在。原创 2023-08-29 11:15:00 · 438 阅读 · 0 评论 -
【大数据之Kafka】四、Kafka生产者分区
需求:实现一个分区器,实现发送过来的数据中如果包含test,就发往 0 号分区,不包含test,就发往 1 号分区。步骤:(1)定义类实现Partitioner 接口。(2)重写partition()方法。import org/*** 1. 实现接口 Partitioner* 2. 实现 3 个方法:partition,close,configure* 3. 编写 partition 方法,返回分区号/*** 返回信息对应的分区* @param s 主题。原创 2023-08-28 10:58:09 · 442 阅读 · 0 评论 -
【大数据之Kafka】三、Kafka生产者之消息发送流程及同步异步发送API
将外部传送给过来的数据发送到kafka集群。原创 2023-08-15 23:30:00 · 1227 阅读 · 1 评论 -
【大数据之Kafka】二、Kafka入门
官方下载地址:http://kafka.apache.org/downloads.html(3)进入到/opt/module/kafka/config 目录,修改配置文件server.properties:修改:参数值broker.id=0(broker 的全局唯一编号,不能重复,只能是数字);kafka 运行日志(数据)存放的路径log.dirs=/opt/module/kafka/datas;原创 2023-08-14 14:45:00 · 122 阅读 · 0 评论 -
【大数据之Kafka】一、Kafka定义消息队列及基础架构
Kafka是一个。原创 2023-08-12 12:30:00 · 295 阅读 · 0 评论