
kafka
The Great Ant
做一个功成名就的人
展开
-
2021-05-16
Kafka中的数据是有序的吗单分区内有序;多分区,分区与分区间无序;原创 2021-05-16 21:33:30 · 70 阅读 · 0 评论 -
2021-05-15
Kafka可以按照时间消费数据Map<TopicPartition, OffsetAndTimestamp> startOffsetMap = KafkaUtil.fetchOffsetsWithTimestamp(topic, sTime, kafkaProp);原创 2021-05-15 22:58:51 · 72 阅读 · 0 评论 -
2021-05-15
Kafka过期数据清理 保证数据没有被引用(没人消费他)日志清理保存的策略只有delete和compact两种log.cleanup.policy=delete启用删除策略log.cleanup.policy=compact启用压缩策略详解:https://www.jianshu.com/p/fa6adeae8eb5...原创 2021-05-15 22:58:28 · 78 阅读 · 0 评论 -
2021-05-14
Kafka单条日志传输大小kafka对于消息体的大小默认为单条最大值是1M但是在我们应用场景中, 常常会出现一条消息大于1M,如果不对kafka进行配置。则会出现生产者无法将消息推送到kafka或消费者无法去消费kafka里面的数据, 这时我们就要对kafka进行以下配置:server.propertiesreplica.fetch.max.bytes: 1048576 broker可复制的消息的最大字节数, 默认为1Mmessage.max.bytes: 1000012 kafka 会接收单原创 2021-05-14 22:03:53 · 356 阅读 · 0 评论 -
2021-05-14
Kafka高效读写数据1)Kafka本身是分布式集群,同时采用分区技术,并发度高。2)顺序写磁盘Kafka的producer生产数据,要写入到log文件中,写的过程是一直追加到文件末端,为顺序写。官网有数据表明,同样的磁盘,顺序写能到600M/s,而随机写只有100K/s。3)零复制技术4)pagecache缓存I/O Scheduler 会将连续的小块写组装成大块的物理写从而提高性能I/O Scheduler 会尝试将一些写操作重新按顺序排好,从而减少磁盘头的移动时间充分利用所有空闲内存原创 2021-05-14 22:02:10 · 78 阅读 · 0 评论 -
2021-05-13
Kafka参数优化1.Broker参数配置(server.properties)(1)、日志保留策略配置# 保留三天,也可以更短 (log.cleaner.delete.retention.ms)log.retention.hours=72(2)、Replica相关配置default.replication.factor:1 默认副本1个(3)、网络通信延时replica.socket.timeout.ms:30000 #当集群之间网络不稳定时,调大该参数replica.lag.time原创 2021-05-13 22:03:13 · 243 阅读 · 0 评论 -
2021-05-13
Kafka消息数据积压,Kafka消费能力不足怎么处理?1)如果是Kafka消费能力不足,则可以考虑增加Topic的分区数,并且同时提升消费组的消费者数量,消费者数=分区数。(两者缺一不可)2)如果是下游的数据处理不及时:提高每批次拉取的数量。批次拉取数据过少(拉取数据/处理时间<生产速度),使处理的数据小于生产的数据,也会造成数据积压。...原创 2021-05-13 22:02:43 · 62 阅读 · 0 评论 -
2021-05-13
kafka的基本命令1)查看当前服务器中的所有topic[ kafka ]$ bin/kafka-topics.sh --zookeeper hadoop102:2181 --list2)创建topic[ kafka ]$ bin/kafka-topics.sh --zookeeper hadoop102:2181 --create --replication-factor 2 --partitions 1 --topic first选项说明:–topic 定义topic名–repli原创 2021-05-13 22:01:53 · 113 阅读 · 0 评论 -
2021-05-12
Kafka内部数据重复小记At Least Once(ack = -1) + 幂等性 = Exactly Once (精准一次性)不重复:Exactly Once + 事务Kafka数据重复,可以在下一级:SparkStreaming、redis或者hive中dwd层去重,去重的手段:分组、按照id开窗只取第一个值;...原创 2021-05-12 22:20:48 · 68 阅读 · 0 评论 -
2021-05-12
Kafka数据的可靠性1.为保证producer发送的数据,能可靠的发送到指定的topic,topic的每个partition收到producer发送的数据后,都需要向producer发送ack(acknowledgement确认收到),如果producer收到ack,就会进行下一轮的发送,否则重新发送数据。2.Leader维护了一个动态的in-sync replica set (ISR),意为和leader保持同步的follower集合。当ISR中的follower完成数据的同步之后,leader就会原创 2021-05-12 22:19:56 · 70 阅读 · 0 评论 -
2021-05-11
45.销售分析Create table If Not Exists 45_Product (product_id int, product_name varchar(10), unit_price int);Create table If Not Exists 45_Sales (seller_id int, product_id int,buyer_id int, sale_date date, quantity int, price int);Truncate table 45_Product;原创 2021-05-11 22:16:05 · 122 阅读 · 0 评论 -
2021-05-11
Kafka挂掉1)Flume记录2)日志有记录3)短期没事原创 2021-05-11 22:03:29 · 75 阅读 · 0 评论 -
2021-05-11
Kafka消费者的分区分配策略在 Kafka内部存在三种默认的分区分配策略:Range和 RoundRobin,Sticky粘性分区。1.Range是默认策略。Range是对每个Topic而言的(即一个Topic一个Topic分),首先对同一个Topic里面的分区按照序号进行排序,并对消费者按照字母顺序进行排序。然后用Partitions分区的个数除以消费者线程的总数来决定每个消费者线程消费几个分区。如果除不尽,那么前面几个消费者线程将会多消费一个分区。例如:我们有10个分区,两个消费者(C1,C2)原创 2021-05-11 22:02:43 · 121 阅读 · 0 评论 -
2021-05-10
Kafka的ISR副本同步队列ISR(In-Sync Replicas),副本同步队列。ISR中包括Leader和Follower。如果Leader进程挂掉,会在ISR队列中选择一个服务作为新的Leader。有replica.lag.max.messages(延迟条数)和replica.lag.time.max.ms(延迟时间)两个参数决定一台服务是否可以加入ISR副本队列,在0.10版本移除了replica.lag.max.messages参数,防止服务频繁的进去队列。任意一个维度超过阈值都会原创 2021-05-10 22:32:22 · 74 阅读 · 0 评论 -
2021-05-10
Kakfa如何确定分区数1)创建一个只有1个分区的topic2)测试这个topic的producer吞吐量和consumer吞吐量。3)假设他们的值分别是Tp和Tc,单位可以是MB/s。4)然后假设总的目标吞吐量是Tt,那么分区数=Tt / min(Tp,Tc)例如:producer吞吐量=20m/s;consumer吞吐量=50m/s,期望吞吐量100m/s;分区数=100 / 20 =5分区https://blog.youkuaiyun.com/weixin_42641909/article/deta原创 2021-05-10 22:31:30 · 63 阅读 · 0 评论 -
2021-05-09
Kafka日志保存时间默认保存7天;生产环境建议3天原创 2021-05-09 23:05:17 · 91 阅读 · 0 评论 -
2021-05-09
中等公司Kafka中数据量计算每天总数据量100g,每天产生1亿条日志, 10000万/24/60/60=1150条/每秒钟平均每秒钟:1150条低谷每秒钟:50条高峰每秒钟:1150条*(2-20倍)=2300条-23000条每条日志大小:0.5k-2k(取1k)每秒多少数据量:2.0M-20MB...原创 2021-05-09 23:04:50 · 236 阅读 · 0 评论 -
2021-05-08
Kafka压测Kafka官方自带压力测试脚本(kafka-consumer-perf-test.sh、kafka-producer-perf-test.sh)。Kafka压测时,可以查看到哪个地方出现了瓶颈(CPU,内存,网络IO)。一般都是网络IO达到瓶颈。原创 2021-05-08 22:43:57 · 66 阅读 · 0 评论 -
2021-05-07
Kafka架构1)Producer :消息生产者,就是向kafka broker发消息的客户端;2)Consumer :消息消费者,向kafka broker取消息的客户端;3)Consumer Group (CG):消费者组,由多个consumer组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费;消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。4)Broker :一台kafka服务器就是一个broker。一个集群由多个bro原创 2021-05-07 22:59:02 · 373 阅读 · 0 评论 -
2021-05-07
Kafka的机器数量Kafka机器数量=2(峰值生产速度*副本数/100)+ 1原创 2021-05-07 23:00:00 · 65 阅读 · 0 评论