美文网首页
Kafka笔记

Kafka笔记

作者: Y了个J | 来源:发表于2022-02-18 00:12 被阅读0次

docker安装kafka

docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka

#单机方式
docker run -d --name zookeeper \
-p 2181:2181 \
--restart=always \
-t wurstmeister/zookeeper

#单机方式
docker run -d --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=127.0.0.1:2181/kafka \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-t wurstmeister/kafka

#进入容器
docker exec -it kafka /bin/bash
cd opt/bin

consumer发生变化进行reblance。
删除策略,分别是基于消息的消费时间以及partition文件的大小。
我们可以通过配置文件$KAFKA_HOME/config/server.properties,让Kafka删除一周前的数据,也可在Partition文件超过1GB时删除旧数据。

# The minimum age of a log file to be eligible for deletion
log.retention.hours=168
# The maximum size of a log segment file. When this size is reached a new log segment will be created.
log.segment.bytes=1073741824
# The interval at which log segments are checked to see if they can be deleted according to the retention policies
log.retention.check.interval.ms=300000
# If log.cleaner.enable=true is set the cleaner will be enabled and individual logs can then be marked for log compaction.
log.cleaner.enable=false

partition会被分布在各个Server节点上,同时它们中间又有一个leader,它会处理所有的读写请求,其他followers会复制leader上的数据信息,一旦当leader因为某些故障而无法提供服务后,就会有一个follower被推举出来成为新的leader来处理这些请求。

稀疏索引
索引文件.index,日志文件.log

分区又被划分成了多个 LogSegment,这是为了防止 Log 日志过大,Kafka 又引入了日志分段(LogSegment)的概念,将 Log 切分为多个 LogSegement,相当于一个巨型文件被平均分割为一些相对较小的文件,这样也便于消息的查找、维护和清理。这样在做历史数据清理的时候,直接删除旧的 LogSegement 文件就可以了。

kafka的producer是线程安全的
kafka的consumer不是线程安全的

ISR

零拷贝

1

https://blog.csdn.net/yangshengwei230612/article/details/106504146/

相关文章

  • Kafka学习笔记

    kafka笔记 0. Kafka 安装 下载 wget http://mirrors.shu.edu.cn/apa...

  • 【Kafka】Kafka入门手记

    1. 前言 本文为 Kafka 入门笔记,主要包括 Kafka 单节点部署、生产消费消息,以及新手踩坑记录。 Ka...

  • sptest

    # Spring Kafka 学习笔记 ## 1 接收消息 接收消息需要提供MessageListenerCont...

  • Kafka学习笔记

    Kafka 学习笔记 内容大部分引用自Info - Apache Kafka:下一代分布式消息系统 原文作者Abh...

  • Kafka笔记

    earliest 当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开...

  • kafka笔记

    kafka的定义:是一个分布式消息系统,由LinkedIn使用Scala编写,用作LinkedIn的活动流(Act...

  • Kafka笔记

    Kafka是一个分布式消息队列。Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息...

  • Kafka笔记

    Kafka安装 1、下载:http://kafka.apache.org/downloads2、安装:tar -z...

  • Kafka笔记

    原创文章,转载请注明原文章地址,谢谢! 消息队列的两种模式 点对点模式(一对一,消费者主动拉取数据,消息收到后消息...

  • kafka笔记

    docker运行Kafka kafka操作命令 进入容器 创建topic 查看topic 删除topic 启动生产...

网友评论

      本文标题:Kafka笔记

      本文链接:https://www.haomeiwen.com/subject/qspmjltx.html