2025年开放平台日志推送---kafka

开放平台日志推送---kafka解耦 ASynchronize 异步 Synchronize 同步 Kafka 消息数据积压 Kafka 消费能力不足怎么处理 1 如果是 Kafka 消费能力不足 则可以考虑增加 Topic 的分区数 并且同时提升消费组的消费者数量 消费者数 分区数

大家好,我是讯享网,很高兴认识大家。

解耦

ASynchronize异步

Synchronize 同步

1)如果是Kafka消费能力不足,则可以考虑增加Topic的分区数,并且同时提升消费组的消费者数量,消费者数=分区数。(两者缺一不可)
2)如果是下游的数据处理不及时:提高每批次拉取的数量。批次拉取数据过少(拉取数据/处理时间<生产速度),使处理的数据小于生产的数据,也会造成数据积压。
没有了消费积压,数据看起来美滋滋


讯享网

 

一 kafka安装

1. 创建docker-net

docker network create -d overlay docker-net

讯享网

2. docker-compose-kafka.yml

讯享网version: '3.6' services: zk: image: wurstmeister/zookeeper networks: - docker-net ports: - "2181:2181" manager: image: kafkamanager/kafka-manager links: - zk:zk networks: - docker-net ports: - "10080:9000" environment: ZK_HOSTS: zk:2181 broker_1: image: wurstmeister/kafka networks: - docker-net links: - zk:zk ports: - "9092:9092" environment: KAFKA_BROKER_ID: 1 KAFKA_HOST_NAME: ip KAFKA_ADVERTISED_HOST_NAME: ip KAFKA_ZOOKEEPER_CONNECT: zk:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://ip:9092 KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092 KAFKA_LOG_DIRS: /logs/kafka KAFKA_HEAP_OPTS: -Xmx16G -Xms16G volumes: - /data4/bin/kafka:/logs/kafka networks: docker-net: external: true 

二 kafka 目录结构

 

Kafka的producer生产数据,要写入到log文件中,写的过程是一直追加到文件末端,为顺序写。官网有数据表明,同样的磁盘,顺序写能到到600M/s,而随机写只有100k/s。这与磁盘的机械机构有关,顺序写之所以快,是因为其省去了大量磁头寻址的时间。

 

三  kafka消费策略 OffsetOldest  OffsetNewest

只在 新建消费者组的时候生效

Kafka

OffsetNewest 从最新的  log offset用最新的 [用已存在的offset]

 

 

OffsetOldest最老的  从有记录[保存周期7天,即从7天前]从0开始消费

 

 

只在 新建消费者组的时候生效

一般会用OffsetNewest

新老业务,新业务不需要之前的数据

OffsetOldest

新老业务,新业务需要之前的数据 [ 应用场景比较少]

 

四 kafka日常运维命令小结

 topic列表 kafka-topics.sh --list --zookeeper zk:2181 __consumer_offsets openai_kong_log topic详情 kafka-topics.sh --describe --zookeeper zk:2181 --topic openai_kong_log Topic: openai_kong_log PartitionCount: 8 ReplicationFactor: 1 Configs: Topic: openai_kong_log Partition: 0 Leader: 1 Replicas: 1 Isr: 1 Topic: openai_kong_log Partition: 1 Leader: 1 Replicas: 1 Isr: 1 Topic: openai_kong_log Partition: 2 Leader: 1 Replicas: 1 Isr: 1 Topic: openai_kong_log Partition: 3 Leader: 1 Replicas: 1 Isr: 1 Topic: openai_kong_log Partition: 4 Leader: 1 Replicas: 1 Isr: 1 Topic: openai_kong_log Partition: 5 Leader: 1 Replicas: 1 Isr: 1 Topic: openai_kong_log Partition: 6 Leader: 1 Replicas: 1 Isr: 1 Topic: openai_kong_log Partition: 7 Leader: 1 Replicas: 1 Isr: 1 消费组列表 kafka-consumer-groups.sh --bootstrap-server ip:9092 --list openai KMOffsetCache-7e0676b0a501 group_openai --consumer-property 消息堆积情况 kafka-consumer-groups.sh --bootstrap-server ip:9092 --group group_openai --describe Consumer group 'group_openai' has no active members. GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID group_openai openai_kong_log 3   13341 - - - group_openai openai_kong_log 4   13398 - - - group_openai openai_kong_log 1   13647 - - - group_openai openai_kong_log 2   13572 - - - group_openai openai_kong_log 7   13441 - - - group_openai openai_kong_log 5   13476 - - - group_openai openai_kong_log 6   13521 - - - group_openai openai_kong_log 0    - - - 

单个topic 常见操作

讯享网1.创建topic kafka-topics.sh --zookeeper ip:2181 \ --create --replication-factor 1 --partitions 1 --topic first 2.发送消息 kafka-console-producer.sh \ --broker-list ip:9082 --topic first >hello world >atguigu atguigu 消费消息 --from-beginning:会把主题中以往所有的数据都读取出来 kafka-console-consumer.sh \ --bootstrap-server ip:9082 --from-beginning --topic first 3.修改分区数 kafka-topics.sh --zookeeper ip:2181 --alter --topic first --partitions 6 4.删除topic kafka-topics.sh --zookeeper ip:2181 \ --delete --topic first

参考

https://www.cnblogs.com/wangzhuxing/p/10127497.html

 

 

小讯
上一篇 2025-03-18 12:56
下一篇 2025-03-01 13:42

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/23517.html