Kafka基础知识

发布于:2025-08-15 ⋅ 阅读:(17) ⋅ 点赞:(0)

消息队列的两种模式

点对点模式

消费者主动拉取数据,消息收到后清除消息

在这里插入图片描述

发布/订阅模式

可以有多个topic主题(浏览、点赞、收藏、评论等)
消费者消费数据之后,不删除数据
每个消费者相互独立,都可以消费到数据

Kafka基础架构

Producer:生产者,用来对接外部传入的数据

Topic:主题,存储数据

Consumer:消费者,用来消费Kafka的数据

zookeeper:记录哪些服务器上线,还会记录每个分区谁是leader,Kafka2.8.0以后也可以配置不采用zk

为方便扩展,并提高吞量,一个topic分为多个partition
配合分区的设计,提出消费者组的概念,组内每个消费者并行消费
为提高可用性,为每个partition增加若干副本,类似NameNode HA,这里的副本分为leader和follower,生产和消费只针对leader,当leader挂掉,follower有条件成为新的leader

Kafka启动

先启动zookeeper

zkServer.sh start

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

启动kafka

kafka-server-start.sh -daemon  /usr/local/soft/kafka/config/server.properties

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Kafka启动停止脚本

在这里插入图片描述

#!/bin/bash

case $1 in
"start")
	for i in master slave1 slave2
	do
		echo "--- 启动 $i kafka ---"
		ssh $i "/usr/local/soft/kafka/bin/kafka-server-start.sh -daemon /usr/local/soft/kafka/config/server.properties"
	done
;;
"stop")
	for i in master slave1 slave2
	do
		echo "--- 停止 $i kafka ---"
		ssh $i "/usr/local/soft/kafka/bin/kafka-server-stop.sh"
	done
;;
esac

启动Kafka

在这里插入图片描述
关闭Kafka

在这里插入图片描述
Kafka停止需要一点时间,并没有立马停止
注意:由于Kafka存储信息在Zookeeper中,要等Kafka完全关闭后再停止ZooKeeper,否则需要kill停止Kafka


网站公告

今日签到

点亮在社区的每一天
去签到