单节点的kafka安装及使用及kafka的简介

1.zookeeper的配置:

dataDir=/tmp/zookeeper

clientPort=2181

2.kafka的配置:

broker.id=0

listeners=PLAINTEXT://spark1:9092

log.dirs=/opt/softwares/kafka_2.11-2.4.1/log

zookeeper.connect=spark1:2181/kafka

3.kafka的使用:

启动kafka
bin/kafka-server-start.sh config/server.properties
创建Topic
bin/kafka-topics.sh  --zookeeper node1:2181/kafka  --create --topic topic-demo --replication-factor 1 --partitions 1 
生产数据
bin/kafka-console-producer.sh --broker-list spark1:9092 --topic demo1
消费数
bin/kafka-console-consumer.sh --bootstrap-server spark1:9092 --topic demo1

4.kafka的简介:

4.1.kafka的体系结构:

单节点的kafka安装及使用及kafka的简介

4.2主题与分区:

每一条消息被发送到topic之前,会根据分区规则选择存储到哪个具体的分区。

单节点的kafka安装及使用及kafka的简介 

4.3分区多副本机制

单节点的kafka安装及使用及kafka的简介 

4.4分区中偏移量的说明

AR:分区中的所有副本统称ARAssigned Replicas)
ISR:是AR的子集,所有与leader副本保持一定程度同步的副本(包括leader副本)
OSR:与leader副本同步滞后过多的副本(不包括 leader副本)
 

4.5leader副本的推举

leader副本负责维护和跟踪ISR集合中所有follower副本的滞后状态

当follower落后太多或失效时,leader则把它从ISR中剔除,放入OSR

如果OSR中有follower副本追上时,leader则会把它从OSR中移到ISR

AR=ISR+OSR

默认情况下,当leader副本故障时,只有在ISR中的副本才有资格被选举为新的leader

4.6ISRHWLEO的关系 :

HW:HW是High Watermark的缩写,俗称高水位,它标识了一个特定的消息偏移量(offset),消费者只能拉取这个offset之前的消息

LEO:是Log End Offset的缩写,它标识当前日志文件中下一条待写入消息的 offset

单节点的kafka安装及使用及kafka的简介