Kafka
ITBOY_ITBOX
技术人生,管理天涯
展开
-
Kafka的硬盘大小、监控器、分区确定
Kafka的硬盘大小每天的数据量100g * 2个副本 * 3天 / 70%开源的监控器:KafkaManager、KafkaMonitor、KafkaEagle分区确定如:producer吞吐量=20m/s;consumer吞吐量=50m/s,期望吞吐量100m/s;分区数=100 / 20 = 5分区https://blog.csdn.net/weixin_42641909/article/details/89294698分区数一般设置为:3-10个...原创 2021-06-14 07:59:24 · 619 阅读 · 0 评论 -
Kafka压力测试
1)Kafka压测用Kafka官方自带的脚本,对Kafka进行压测。Kafka压测时,可以查看到哪个地方出现了瓶颈(CPU,内存,网络IO)。一般都是网络IO达到瓶颈。kafka-consumer-perf-test.shkafka-producer-perf-test.sh2)KafkaProducer生产者压力测试(1)在/opt/module/kafka/bin目录下面有这两个文件。我们来测试一下[atguigu@hadoop102 kafka]$ bin/kafka-pr..原创 2021-04-06 22:26:42 · 169 阅读 · 0 评论 -
Kafka机器数量计算
Kafka机器数量(经验公式)=2*(峰值生产速度* 副本数/100)+1先拿到峰值生产速度,再根据设定的副本数,就能预估出需要部署Kafka的数量。比如我们的峰值生产速度是50M/s。副本数为2。Kafka机器数量=2*(50 * 2/100)+1=3台...原创 2021-04-06 22:19:45 · 373 阅读 · 0 评论 -
kafka 工具类(scala版)
object MyKafkaUtil { private val properties: Properties = PropertiesUtil.load("config.properties") val broker_list = properties.getProperty("kafka.broker.list") // kafka消费者配置 val kafkaParam ...原创 2019-06-04 16:55:21 · 1075 阅读 · 0 评论 -
Kafka自定义Interceptor
拦截器原理Producer拦截器(interceptor)是在Kafka 0.10版本被引入的,主要用于实现clients端的定制化控制逻辑。对于producer而言,interceptor使得用户在消息发送前以及producer回调逻辑前有机会对消息做一些定制化需求,比如修改消息等。同时,producer允许用户指定多个interceptor按序作用于同一条消息从而形成一个拦截链(int...原创 2019-05-16 00:05:17 · 560 阅读 · 0 评论 -
Kafka API之Producer API
消息发送流程Kafka的Producer发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main线程和Sender线程,以及一个线程共享变量——RecordAccumulator。main线程将消息发送给RecordAccumulator,Sender线程不断从RecordAccumulator中拉取消息发送到Kafkabroker。相关参数:batch....原创 2019-05-16 00:05:22 · 824 阅读 · 0 评论 -
Kafka监控之Kafka Manager
1.上传压缩包kafka-manager-1.3.3.15.zip到集群2.解压到/opt/module3.修改配置文件conf/application.confkafka-manager.zkhosts="kafka-manager-zookeeper:2181"修改为:kafka-manager.zkhosts="hadoop102:2181,hadoop103:218...原创 2019-05-16 00:05:29 · 469 阅读 · 0 评论 -
Kafka监控之Kafka Monitor
1.上传jar包KafkaOffsetMonitor-assembly-0.4.6.jar到集群2.在/opt/module/下创建kafka-offset-console文件夹3.将上传的jar包放入刚创建的目录下4.在/opt/module/kafka-offset-console目录下创建启动脚本start.sh,内容如下:#!/bin/bashjava -cp Kaf...原创 2019-05-16 00:06:03 · 2252 阅读 · 1 评论 -
Zookeeper在Kafka中的作用
Kafka集群中有一个broker会被选举为Controller,负责管理集群broker的上下线,所有topic的分区副本分配和leader选举等工作。Controller的管理工作都是依赖于Zookeeper的。以下为partition的leader选举过程:...原创 2019-05-16 00:06:32 · 3235 阅读 · 1 评论 -
Kafka 高效读写数据
1)顺序写磁盘Kafka的producer生产数据,要写入到log文件中,写的过程是一直追加到文件末端,为顺序写。官网有数据表明,同样的磁盘,顺序写能到到600M/s,而随机写只有100k/s。这与磁盘的机械机构有关,顺序写之所以快,是因为其省去了大量磁头寻址的时间。2)零复制技术...原创 2019-05-16 00:06:24 · 617 阅读 · 0 评论 -
Kafka消费者
消费方式consumer采用pull(拉)模式从broker中读取数据。push(推)模式很难适应消费速率不同的消费者,因为消息发送速率是由broker决定的。它的目标是尽可能以最快速度传递消息,但是这样很容易造成consumer来不及处理消息,典型的表现就是拒绝服务以及网络拥塞。而pull模式则可以根据consumer的消费能力以适当的速率消费消息。pull模式不足之处是,如果kaf...原创 2019-05-16 00:06:10 · 171 阅读 · 0 评论 -
Kafka生产者
分区策略1)分区的原因(1)方便在集群中扩展,每个Partition可以通过调整以适应它所在的机器,而一个topic又可以有多个Partition组成,因此整个集群就可以适应任意大小的数据了;(2)可以提高并发,因为可以以Partition为单位读写了。2)分区的原则我们需要将producer发送的数据封装成一个ProducerRecord对象。(1)指明 partit...原创 2019-05-16 00:06:17 · 282 阅读 · 0 评论 -
Kafka架构深入
Kafka工作流程及文件存储机制Kafka中消息是以topic进行分类的,生产者生产消息,消费者消费消息,都是面向topic的。topic是逻辑上的概念,而partition是物理上的概念,每个partition对应于一个log文件,该log文件中存储的就是producer生产的数据。Producer生产的数据会被不断追加到该log文件末端,且每条数据都有自己的offset。消费者组中...原创 2019-05-16 00:05:44 · 236 阅读 · 0 评论 -
Kafka命令行操作
Kafka命令行操作1)查看当前服务器中的所有topic[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181 --list2)创建topic[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181...原创 2019-05-16 00:05:49 · 199 阅读 · 0 评论 -
Kafka安装部署
集群规划hadoop102 hadoop103 hadoop104 zk zk zk kafka kafka kafka jar包下载http://kafka.apache.org/downloads.html集群部署1)解压安装包[atguigu@hadoop102 software]$ tar -zxvf ...原创 2019-05-15 20:49:38 · 225 阅读 · 0 评论 -
Kafka基础架构
1)Producer :消息生产者,就是向kafka broker发消息的客户端;2)Consumer :消息消费者,向kafka broker取消息的客户端;3)Consumer Group (CG):消费者组,由多个consumer组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个消费者消费;消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上...原创 2019-05-15 20:26:22 · 194 阅读 · 0 评论 -
Kafka概述
定义Kafka是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域。消息队列的两种模式(1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)消息生产者生产消息发送到Queue中,然后消息消费者从Queue中取出并且消费消息。消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息。Queue支持存在多个消费者,但是对一个...原创 2019-05-15 20:17:33 · 167 阅读 · 0 评论