---Kafka
大数据学习二级分类,涉及Kafka。
由Linkedin公司开源。
kafka是一个分布式消息系统,他的高性能,持久性真正的让数据流动了起来,为低延时批处理与及时流处理提供了可能性。
寒 暄
自渡
展开
-
Kafka连接器--错误处理和死信队列
# 容忍所有错误。errors.tolerance = all # 在 Kafka 主题中生成错误上下文errors.deadletterqueue.topic.name = my-connector-errors# 记录消息的失败原因errors.deadletterqueue.context.headers.enable = true # 记录错误上下文以及应用程序日志,但不包括配置和消息errors.log.enable=trueerrors.log.include.messages原创 2021-09-07 11:44:20 · 542 阅读 · 0 评论 -
Kafka-eagle--可视化监控组件
安装部署修改 kafka-server-start.sh内容if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"fi==>if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-server -Xms2G -Xmx2G -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPause原创 2020-08-19 16:38:10 · 626 阅读 · 0 评论 -
KafkaAPI--自定义拦截器
拦截器拦截器(interceptor)是在 Kafka 0.10 版本被引入的,主要用于实现 clients 端的定制化控制逻辑。Intercetpor 的实现接口是org.apache.kafka.clients.producer.ProducerInterceptor,其定义的方法包括:configure(configs)获取配置信息和初始化数据时调用。onSend(ProducerRecord):该方法封装进 KafkaProducer.send 方法中,即它运行在用户主线程中。原创 2020-08-19 14:02:07 · 192 阅读 · 0 评论 -
KafkaAPI--消费者API
package com.company;import kafka.tools.ConsoleConsumer;import org.apache.kafka.clients.consumer.ConsumerConfig;import org.apache.kafka.clients.consumer.ConsumerRecord;import org.apache.kafka.clients.consumer.ConsumerRecords;import org.apache.kafka.cl原创 2020-08-18 17:29:04 · 451 阅读 · 0 评论 -
KafkaAPI--生产者API
异步发送流程在整个流程中最关键的是两个线程main线程与sender线程与一个公共变量RecordAccumulator。main线程向RecordAccumulator发送数据,sender线程从RecordAccumulator读取数据。在main线程中,消息由Producer发出,经过过滤器Interceptors,序列化器Serializer,分区器Partitioner后分发给RecordAccumulator。相关参数:batch.size:只有数据积累到 batch.size 之后原创 2020-08-17 16:55:08 · 338 阅读 · 0 评论 -
Kafka高级--消费者
消费方式消费者消费方式有pull和push两种。push指broker推送数据给消费者,这样在固定的发送效率下处理能力差的消费者很容易出现网络拥堵。说白了就是一个劲的灌吃食,能吃就吃,吃不下噎着。pull指消费者主动拉取数据,这样的模式不足的地方在于如果kafka中没有数据了,消费者就会陷入循环,一直返回空数据。就是消费者根据自己的能力来吃东西了,但是桌子上没东西了消费者也会夹空气吃。针对这一点可以使用一个参数timeout,当没有消息可以消费了,等待timeout秒后消费者停止消费。分区分配策略原创 2020-08-14 17:26:01 · 481 阅读 · 0 评论 -
Kafka高级--生产者
分区策略kafka分区主要从两点出发,第一点是方便在集群中扩展,分布式组件都具有横向扩展能力,第二点是提高并发量,比较最低单位就是分区,并发量肯定大。在我们提交ProducerRecord对象时,根据实际情况有三种策略:指明 partition 的情况下,直接将指明的值直接作为 partiton 值;没有指明 partition 值但有 key 的情况下,将 key 的 hash 值与 topic 的 partition 数进行取余得到 partition 值;既没有 partition 值又没原创 2020-08-13 16:05:15 · 192 阅读 · 1 评论 -
Kafka高级--工作机制与文件存储机制
Producer向Topic-leader分类推送数据,每一个队列的主题都不同。Topic-leader向Topic-follower实时备份数据,防止Topic-leader突然挂掉。Consumer消费Topic-leader中的数据,以offset为标志,表示消费到的位置,以便出错恢复时,从上次的位置继续消费。Kafka 中消息是以 topic 进行分类的,生产者生产消息,消费者消费消息,都是面向 topic的。topic 是逻辑上的概念,而 partition 是物理上的概念,每个 ..原创 2020-08-12 17:01:10 · 139 阅读 · 0 评论 -
Kafka基础--部署与基础操作
下载地址http://kafka.apache.org/downloads.html环境配置Kafka环境中必须有ZooKeePer与Java环境。上传解压# 解压[root@ch1 hdk]# tar -zxvf kafka_2.11-0.11.0.0.tgz# 重命名[root@ch1 hdk]# mv kafka_2.11-0.11.0.0 kafka配置环境变量# 修改文件[root@ch1 hdk]# vi /etc/profileexport JAVA_H原创 2020-08-11 15:41:21 · 164 阅读 · 0 评论 -
Kafka基础--Kafka架构图
架构图角色Producer :消息生产者,就是向 kafka broker 发消息的客户端;Consumer :消息消费者,向 kafka broker 取消息的客户端;Consumer Group (CG):消费者组,由多个 consumer 组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费;消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。Broker :一台 kafka 服务器就是一个 broker。一个集群由多个 b原创 2020-08-08 14:58:47 · 1511 阅读 · 1 评论 -
Kafka基础--消息队列与消费模式
传统消息队列在信息系统传输信息中,不可能依靠某一性能来决定先后顺序,应该统一按照先来后到排队。Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。在传统消息队列中分为两种,一种是同步消息队列,即让用户等待流程完成:一种叫异步消息队列,即你的请求我收到了,我先给你弄着,你先去忙其他的事情吧:消息队列最大的优点有两个:解耦与削峰。同时还有很多其他优点:解耦允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。原创 2020-08-08 14:28:22 · 3051 阅读 · 1 评论