kafka
文章平均质量分 83
王树民
大JAVA
展开
-
kafka中处理超大消息的一些考虑
Kafka设计的初衷是迅速处理短小的消息,一般10K大小的消息吞吐性能最好(可参见LinkedIn的kafka性能测试)。但有时候,我们需要处理更大的消息,比如XML文档或JSON内容,一个消息差不多有10-100M,这种情况下,Kakfa应该如何处理?针对这个问题,有以下几个建议: 最好的方法是不直接传送这些大的数据。如果有共享存储,如NAS, HDFS, S3等,可以把这些大的文件存放到共享存储,然后使用Kafka来传送文件的位置信息。 第二个方法是,将大的消息数据切片或切块,在生产...原创 2020-11-09 10:08:31 · 879 阅读 · 1 评论 -
Kafka的Topic配置详解
一、Kafka中topic级别配置配置topic级别参数时,相同(参数)属性topic级别会覆盖全局的,否则默认为全局配置属性值。创建topic参数可以设置一个或多个--config "Property(属性)",下面是创建一个topic名称为"my-topic"例子,它设置了2个参数max message size 和 flush rate.(A)创建topic时配置参数bin/kafka-topics.sh --zookeeper 192.168.2.225:2183/c...原创 2020-11-06 10:08:40 · 5605 阅读 · 0 评论 -
Git 常用操作指南全部内容
发表于 2019-07-21|更新于 2020-08-03|Git字数总计:13.2k|阅读时长: 48 分钟|阅读量:3254|评论数:1https://www.guoyaohua.com/Git-tutorial.html#git简介原创 2020-11-05 14:03:58 · 81 阅读 · 0 评论 -
kafka性能测试
一.硬件配置3台服务器配置如下:CPU:2物理CPU,12核/CPU , 48 processor Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz内存:128GB硬盘:480GB*1 SSD盘(OS)+6TB*7 SAS盘Broker节点数:3个网络:10GE二.测试方案2.1 测试套件使用kafka官方提供的性能测试工具 kafka-perf-test1)producer命令 ./kafka-produ...原创 2020-11-03 08:57:40 · 933 阅读 · 0 评论 -
记一次 Kafka Producer 性能调优实战
记一次 Kafka Producer 性能调优实战https://objcoding.com/2020/09/18/kafka-producer-performance-optimization/最近,遇到某个集群的生产端发送延迟特别高,而且吞吐量上不去,检查集群负载却很低,且集群机器配置非常好,网络带宽也很大,于是使用 Kafka 压测脚本进行了压测。昨天凌晨,在生产环境进行实战调优,经过不断参数改动,现将生产者相关参数设置为以下配置:linger.ms=50batch.size=52原创 2020-11-02 09:41:34 · 1256 阅读 · 1 评论 -
Kafka Consumer如何实现精确一次消费数据
文章目录简介 kafka消费机制 消费时出现几种异常情况 自动提交 手动提交 精确一次消费实现 总结 简介在使用kafka时,大多数场景对于数据少量的不一致(重复或者丢失)并不关注,比如日志,因为不会影响最终的使用或者分析,但是在某些应用场景(比如业务数据),需要对任何一条消息都要做到精确一次的消费,才能保证系统的正确性,kafka并不提供准确一致的消费API,需要我们在实际使用时借用外部的一些手段来保证消费的精确性,下面我们介绍如何实现...原创 2020-10-28 16:34:36 · 2345 阅读 · 1 评论 -
kafka怎么保证数据消费一次且仅消费一次?
1.众所周知,kafka0.11.0.0版本正式支持精确一次处理语义(exactly onece semantic–EOS),Kafka的EOS主要体现在3个方面:1)幂等producer保证单个分区的只会发送一次,不会出现重复消息2)事务(transation):保证原子性的写入多个分区,即写入到多个分区的消息要么全部成功,要么全部回滚3)流式EOS:流处理本质上可看成是“”读取-处理-写入的管道“”。此EOS保证整个过程的操作是原子性。注意,只使用kafka Streams上面3中EOS...原创 2020-10-28 16:21:13 · 3276 阅读 · 0 评论 -
Kafka之精确一次处理语义
文章目录精确一次处理语义 幂等性实现原理精确一次处理语义 消息处理语义 最多一次(at most once):消息可能丢失也可能被处理,但最多只会处理一次 至少一次(at least once):消息不会丢失,但可能被处理多次 精确一次(exactly once):消息被处理且只会被处理一次 producer: 在0.11.0.0之前,kafka producer默认提供至少一次(at least once)语义(重试机制) kafka在0.11...原创 2020-10-28 16:00:09 · 354 阅读 · 0 评论 -
Kafka网络模型
Kafka网络模型摘要:很多人喜欢把RocketMQ与Kafka做对比,其实这两款消息队列的网络通信层还是比较相似的,本文就为大家简要地介绍下Kafka的NIO网络通信模型,通过对Kafka源码的分析来简述其Reactor的多线程网络通信模型和总体框架结构,同时简要介绍Kafka网络通信层的设计与具体实现。一、Kafka网络通信模型的整体框架概述Kafka的网络通信模型是基于NIO的Reactor多线程模型来设计的。这里先引用Kafka源码中注释的一段话:相信大家看了上面的这段引文注释后原创 2020-10-27 10:25:35 · 256 阅读 · 1 评论 -
Flink Kafka Connector与Exactly Once剖析
Flink Kafka Connector与Exactly Once剖析Flink Kafa Connector是Flink内置的Kafka连接器,它包含了从Kafka Topic读入数据的Flink Kafka Consumer以及向Kafka Topic写出数据的Flink Kafka Producer,除此之外Flink Kafa Connector基于Flink Checkpoint机制提供了完善的容错能力。本文从Flink Kafka Connector的基本使用到Kafka在Flink.原创 2020-08-13 18:14:05 · 262 阅读 · 0 评论 -
Kafka压力测试(写入MQ消息压测和消费MQ消息压测)
1.测试目的 本次性能测试在正式环境下单台服务器上Kafka处理MQ消息能力进行压力测试。测试包括对Kafka写入MQ消息和消费MQ消息进行压力测试,根据10w、100w和1000w级别的消息处理结果,评估Kafka的处理性能是否满足项目需求。(该项目期望Kafka能够处理上亿级别的MQ消息)2.测试范围及方法2.1测试范围概述 测试使用Kafka自带的测试脚本,通过命令对Kafka发起写入MQ消息和Kafka消费MQ消息的请求。模拟不同数量级的MQ消息写...原创 2020-08-10 14:02:59 · 414 阅读 · 0 评论 -
【kafka压测】关于kafka性能压测(kafka内置压测工具)
使用Jmeter压测Kafka:https://www.blazemeter.com/blog/apache-kafka-how-to-load-test-with-jmeter/Kafka压力测试(写入MQ消息压测和消费MQ消息压测):https://blog.csdn.net/laofashi2015/article/details/81111466kafka内置压测://生产压测bin/kafka-producer-perf-test.sh --topic test_perf...原创 2020-08-10 13:56:15 · 980 阅读 · 0 评论 -
重新discovery coordinator,然后JoinGroup + SyncGroup
在前面我们讲过,KafkaProducer是线程安全的,同时其内部还有一个Sender,开了一个后台线程,不断从队列中取消息进行发送。而consumer,是一个纯粹的单线程程序,后面所讲的所有机制,包括coordinator,rebalance, heartbeat等,都是在这个单线程的poll函数里面完成的。也因此,在consumer的代码内部,没有锁的出现。//客户端线程while (true) { ConsumerRecords<String, String> ...原创 2020-07-17 13:58:48 · 1903 阅读 · 0 评论 -
Protobuf 通信协议实战
简介 从第一次接触Protobuf到实际使用已经有半年多,刚开始可能被它的名字所唬住,其实就它是一种轻便高效的数据格式,平台无关、语言无关、可扩展,可用于通讯协议和数据存储等领域。优点平台无关,语言无关,可扩展; 提供了友好的动态库,使用简单; 解析速度快,比对应的XML快约20-100倍; 序列化数据非常简洁、紧凑,与XML相比,其序列化之后的数据量约为1/3到1/10。使用详解1、服务器安装安装依赖的库: autoconf automake li...原创 2020-07-17 09:24:23 · 709 阅读 · 0 评论 -
kafka速度快的原因
我们都知道Kafka非常快,比绝大多数的市场上其他消息中间件都要快。这里来研究下那么为什么Kafka那么快(当然不会是因为它用了Scala)。Kafka的消息是保存或缓存在磁盘上的,一般认为在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间。但是实际上,Kafka其中一个特性却是高吞吐率,即使是普通的服务器,Kafka也能轻松支持每秒百万级的写入请求,超过了大部分的消息中间件。这种特性使得Kafka在日志处理等海量数据场景中应用广泛。那么为什么Kafka速度那么快,可以从数据写入和数据读取...原创 2020-07-09 16:10:51 · 794 阅读 · 0 评论 -
netstat 输出内容详解,TCP链接握手对应state
1.列出所有 tcp与udp 端口2下面分析每一项的含义2.1 关于Proto,Recv-Q,Send-Q等列的具体含义Proto:协议名(tcp协议还是udp协议)recv-Q:网络接收队列表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走,recv()如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-s...原创 2020-04-27 11:37:03 · 436 阅读 · 0 评论 -
Kafka之数据存储
Zebul博2018-05-03 15:09:002958已收藏1本文主要讲述以下两部分内容:kafka数据的存储方式; kafka如何通过offset查找message。1.前言写介绍kafka的几个重要概念(可以参考之前的博文Kafka的简单介绍):Broker:消息中间件处理结点,一个Kafka节点就是一个broker,多个broker可以组成一个K...转载 2020-04-26 17:21:55 · 870 阅读 · 0 评论 -
线程的六种状态及其状态的转换
Fuzz_ 2018-10-04 18:15:26 9830 已收藏 13展开1.线程自身信息线程运行的过程会产生很多信息,这些信息都保存在Thread类中的成员变量里面,常见的有:线程的ID是唯一标识getId()线程的名称:getName(),如果不设置线程名称默认为“Thread-xx”线程的优先级:getPriority,线程优先级从1-10,其中数字越大表示优先级...原创 2020-04-26 16:44:53 · 595 阅读 · 0 评论 -
解决KafKa数据存储与顺序一致性保证
“严格的顺序消费”有多么困难下面就从3个方面来分析一下,对于一个消息中间件来说,”严格的顺序消费”有多么困难,或者说不可能。发送端发送端不能异步发送,异步发送在发送失败的情况下,就没办法保证消息顺序。比如你连续发了1,2,3。 过了一会,返回结果1失败,2, 3成功。你把1再重新发送1遍,这个时候顺序就乱掉了。存储端对于存储端,要保证消息顺序,会有以下几个问题:(...原创 2020-04-26 11:15:05 · 1117 阅读 · 0 评论 -
KafkaConsumer使用介绍、参数配置
russqiang 2019-04-27 13:43:41 4325 收藏 5展开文章目录前言Consumer概要Consumer程序开发Consumer常用参数说明消息解序列化多线程处理总结前言KafkaProducer作为生产者发送消息到Kafka,那么自然也就需要从kafka读取消息,这就是KafkaConsumer,通过和Producer使用相同的topic...原创 2020-04-26 10:24:01 · 2665 阅读 · 0 评论 -
Flink| 状态一致性
1. 状态一致性有状态的流处理,内部每个算子任务都可以有自己的状态;对于流处理器内部(没有接入sink)来说,所谓的状态一致性,其实就是我们所说的计算结果要保证准确;一条数据不应该丢失,也不应该重复计算;在遇到故障时可以恢复状态,恢复以后的重新计算,结果应该也是完全正常的;状态一致性分类:AT_MOST_ONCE(最多一次),当任务故障时最简单做法...转载 2020-04-26 10:12:28 · 516 阅读 · 0 评论 -
KafkaConsumer实现精确一次消费
转自https://blog.csdn.net/qq_18581221/article/details/89766073简介在使用kafka时,大多数场景对于数据少量的不一致(重复或者丢失)并不关注,比如日志,因为不会影响最终的使用或者分析,但是在某些应用场景(比如业务数据),需要对任何一条消息都要做到精确一次的消费,才能保证系统的正确性,kafka并不提供准确一致的消费API,需...原创 2020-04-26 09:42:14 · 1398 阅读 · 0 评论 -
kafka常见命令操作及底层原理总结
fa124607857 2019-12-11 17:24:29 11 已收藏展开Kafka集群操作创建topicbin/kafka-topics.sh --create --partitions 3 --replication-factor 2 --topic test --zookeeper node01:2181,node02:2181,node03:21811查看to...原创 2020-04-26 09:40:25 · 277 阅读 · 0 评论 -
多partition下无法保障消息的顺序性
由于问题比较宽泛,需要针对不同场景来分析,以下所有的分析都是基于同一个partition下的场景细化,多partition下无法保障消息的顺序性,但是碰到如下场景还是需要调整参数。场景一:设置了retries>0,并且max.in.flight.requests.per.connection>1先说明下这两个参数的含义:retries生产者从服务器收到的错误有可...原创 2020-04-20 16:55:04 · 543 阅读 · 0 评论 -
解决KafKa数据存储与顺序一致性保证
“严格的顺序消费”有多么困难下面就从3个方面来分析一下,对于一个消息中间件来说,”严格的顺序消费”有多么困难,或者说不可能。发送端发送端不能异步发送,异步发送在发送失败的情况下,就没办法保证消息顺序。比如你连续发了1,2,3。 过了一会,返回结果1失败,2, 3成功。你把1再重新发送1遍,这个时候顺序就乱掉了。存储端对于存储端,要保证消息顺序,会有以下几个问题:(...原创 2020-04-20 16:25:16 · 514 阅读 · 0 评论 -
Kafka Rebalance机制分析
Rebalance 本质上是一种协议,规定了一个 Consumer Group 下的所有 consumer 如何达成一致,来分配订阅 Topic 的每个分区。例如:某 Group 下有 20 个 consumer 实例,它订阅了一个具有 100 个 partition 的 Topic 。正常情况下,kafka 会为每个 Consumer 平均的分配 5 个分区。这个分配的过程就是 Rebala...原创 2020-04-18 21:24:06 · 1699 阅读 · 0 评论 -
Kafka限流(Quota)设置
12月 24, 2016 |Nix.Huang如果kafka客户端是认证的。那么可以使用userId和clientId两种认证方式。如果没有认证只能使用clientId限流。bin/kafka-configs.sh --zookeeper localhost:2181 --alter --add-config 'producer_byte_rate=1048576,consum...原创 2020-03-31 08:48:28 · 5023 阅读 · 1 评论 -
producer参数的理解
kafka的producer默认是异步的方式,在大数据量的情况下可能会出现丢失数据的情况.但是同步的方式又比较低效,因此合理设置异步producer下的kafka参数既可以提高效率又可以不丢失数据.只是要对各参数有一个比较深入的了解.下面是我总结的对于处理安全外几乎所有producer参数的理解:以python客户端为例子,java的参数名可能稍有不同但是含义是一样的例子:produc...原创 2019-11-06 22:48:48 · 1043 阅读 · 0 评论 -
Kafka参数详解及调优--生产者
BillowX关注2019.05.22 19:00:02字数 2,621阅读 491引言在实际的kafka开发中,我们会发现,无论是生产者还是消费者,都需要构建一个Properties对象,里面设置了很多参数。对于很多初学者来说,会看不懂这些参数分别代表什么含义。在本篇文章我们就来详细地了解一下这些参数的作用,并探讨下如何使用合理的配置去优化提高生产/消费效率。正文...原创 2019-11-06 13:49:47 · 551 阅读 · 0 评论 -
以下是topic级配置。是服务器的默认配置。服务器默认配置值仅适用于topic。
NAME DESCRIPTION TYPE DEFAULT VALID VALUES SERVER DEFAULT PROPERTY IMPORTANCE cleanup.policy “delete”或“compact”。指定在旧的日志段的保留策略。默认策略(“delete”),将达到保留时间或大小限制的日志废弃。 “compact”则压缩日志...原创 2019-10-30 17:20:39 · 167 阅读 · 0 评论 -
kafka0.8--0.11各个版本特性预览介绍
kafka-0.8.2 新特性 producer不再区分同步(sync)和异步方式(async),所有的请求以异步方式发送,这样提升了客户端效率。producer请求会返回一个应答对象,包括偏移量或者错误信。这种异步方地批量的发送消息到kafka broker节点,因而可以减少server端资源的开销。新的producer和所有的服务器网络通信都是异步地,在ack=-1模式下需要等待所有...转载 2019-10-22 11:34:12 · 341 阅读 · 0 评论 -
kafkamanager的经典作用
1. 管理多集群2. 便捷的监控集群状态(topics,consumers,offsets,brokers,副本分布,分区分布)3. 运行优先副本选举4. 可以选择指定的broker去产生副本分布策略。5. 运行分区分布策略,根据4产生的分布策略6. 根据自定义配置创建topic7. 删除topic,但是前提是配置kafka的delete.topic.enabl...转载 2018-12-11 15:42:50 · 862 阅读 · 0 评论 -
监控io性能、free、ps、查看网络状态和linux抓包工具
2017年11月28日 17:38:15 mojianbin 阅读数:6484一、监控io性能 1、iostat -x 磁盘使用 关注最后一列的数值,数值大说明磁盘有异常2、iotop 磁盘使用 安装:yum install -y iotop 二、free命令 查看内存使用多少,剩余多少请看第二行的数据。另外我们还可以加-m或-h 或者-g选项分别以M或G为单位打印内存使...原创 2018-12-11 15:28:05 · 367 阅读 · 0 评论 -
Ganglia在CentOS7_x86_64上的yum安装与配置 可以使用有效果
Ganglia在CentOS7_x86_64上的yum安装与配置2017年11月28日 22:32:33 agent_x 阅读数:189 标签: gangliacentoshadoop0 前记:yum安装Ganglia比起make install 安装Ganglia方式要简单很多,因为yum方式安装不用自己去下载编译安装各依赖包。 下面我介绍Ganglia在CentOS7_x86_6...转载 2018-11-21 16:47:32 · 549 阅读 · 0 评论 -
Kafka文件的存储机制
Kafka文件的存储机制同一个topic下有多个不同的partition,每个partition为一个目录,partition命名的规则是topic的名称加上一个序号,序号从0开始。每一个partition目录下的文件被平均切割成大小相等(默认一个文件是500兆,可以手动去设置)的数据文件,每一个数据文件都被称为一个段(segment file),但每个段消息数量不一定相等,这种...原创 2018-11-13 11:44:31 · 1976 阅读 · 0 评论 -
多路分流技术flume
[root@consumer42 apache-flume-1.8.0-bin]# cat duokdmultiplexing.conf#example.conf: A single-node Flume configuration#Name the components on this agenta1.sources = r1a1.sinks = k1 k2a1.channels =...原创 2018-11-10 21:12:50 · 544 阅读 · 0 评论 -
kafka 效率优化
kafka 效率优化2015年06月02日 22:59:58阅读数:4551 数据分区存储在topic内设置了多个分区,使kafka的消费者进程池能得到有序性保证和负载均衡,使得topic对应的消费组里的消费者们各自可以独享一个分区。如此的话,每个消费者是其消费的分区的唯一reader,在单个reader下当然保证了有序这件事。而且多个分区也使得负载可以比较平衡。具体流程:1. Produce...转载 2018-05-10 09:48:36 · 1220 阅读 · 0 评论 -
kafka Manager监控工具的安装与使用
2018年02月25日 21:22:40 Running_Tiger 阅读数:705 标签: 监控工具集群 更多个人分类: 大数据开发版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41455420/article/details/79371604kafka Manager监控工具的安装与使用1.上传kafkaManag...转载 2018-12-11 13:19:46 · 397 阅读 · 0 评论 -
Kafka主要参数详解server.properties
一、相关参数配置############################ System ##############################唯一标识在集群中的ID,要求是正数。broker.id=0#服务端口,默认9092port=9092#监听地址,不设为所有地址host.name=debugo01 # 处理网络请求的最大线程数num.net...原创 2018-12-12 09:09:04 · 909 阅读 · 1 评论 -
kafka中处理超大消息的一些考虑
时间:2015-02-01 00:38:26 阅读:5854 评论:0 收藏:0 [点我收藏+]标签:Kafka设计的初衷是迅速处理短小的消息,一般10K大小的消息吞吐性能最好(可参见LinkedIn的kafka性能测试)。但有时候,我们需要处理更大的消息,比如XML文档或JSON内容,一个消息差不多有10-100M,这种情况下,Kakf...转载 2018-12-12 09:12:01 · 1104 阅读 · 0 评论