【博学谷学习记录】超强总结,用心分享|大数据之Kafka介绍

本文介绍了消息队列的概念及其在系统中的作用,并详细解析了Kafka这一流行的消息队列中间件,包括其架构、应用场景及安装步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 消息队列的基本介绍

1.1 消息队列产生背景

什么是消息队列呢?

消息: 数据 只不过这个数据具有一种流动状态
队列: 存储数据的容器 只不过这个容器具有FIFO(先进先出)特性

消息队列: 数据在队列中, 从队列的一端传递到另一端的过程, 数据在整个队列中产生一种流动状态

在这里插入图片描述

1.2 常见的消息队列的产品

常见的消息队列的产品:

  • 1- ActiveMQ: 出现时间比较早的一款消息队列的组件, 目前整个社区活跃度非常低, 此软件使用人群也在不断的减少, 此软件在前几年中被Java工程师主要使用
  • 2- RabbitMQ: 目前在Java领域中使用非常频繁的一款消息队列的产品, 其社区活跃度相对不错, 支持多种语言开发
  • 3- RocketMQ: 是由阿里推出一款的消息队列的中间件产品, 目前主要是在阿里系范围内使用, 目前支持的开发语言相对较少一些, 比如成熟的客户端还是JAVA
  • 4- Kafka: 是一款大数据领域下的消息队列的产品, 主要应用在大数据领域在, 在业务领域中使用较少
  • 5- Pulsar: 最近一两年新起的一款消息队列的组件, 也是Aapache顶级开源项目, 目前主要由StreamNative公司进行商业运营中

1.3 消息队列的作用是什么

  • 1- 同步转异步
  • 2- 应用解耦合
  • 3- 流量削峰 : 在秒杀场景中, 突然会有庞大的并发量, 但是过后就没有了
  • 4- 消息驱动系统

1.4 消息队列的两种消费模型

  • 点对点: 数据被生产到容器后, 最终这个数据只能被一个消费方来消费数据
  • 发布订阅: 数据被生产到容器后, 可以被多个消费方同时接收到

2. Kafka的基本介绍

​ Kafka是Apache旗下的一款开源免费的消息队列的中间件产品,最早是由领英公司开发的, 后期共享给Apache, 目前已经是Apache旗下的顶级开源的项目, 采用语言为Scala

​ 官方网站: http://www.kafka.apache.org
在这里插入图片描述

适用场景: 数据传递工作, 需要将数据从一端传递到另一端, 此时可以通过Kafka来实现, 不局限两端的程序

​ 在实时领域中, 主要是用于流式的数据处理工作

3. Kafka的架构

在这里插入图片描述

Kafka Cluster: kafka集群
broker: kafka的节点
producer: 生产者
consumer: 消费者
Topic: 主题/话题 理解就是一个大的逻辑容器(管道)
	shard: 分片. 一个Topic可以被分为N多个分片, 分片的数量与节点数据没有关系
	replicas: 副本, 可以对每一个分片构建多个副本, 副本数量最多和节点数量一致(包含本身) 保证数据不丢失
zookeeper: 存储管理集群的元数据信息

4. Kafka的安装操作

参考Kafka的集群安装文档 完成整个安装工作即可

如果安装后, 无法启动, 可能遇到的问题:

1) 配置文件中忘记修改broker id 
2) 忘记修改监听的地址, 或者修改了但是前面的注释没有打开

如何启动Kafka集群:

启动zookeeper集群: 每个节点都要执行
cd /export/server/zookeeper/bin
./zkServer.sh start

启动完成后 需要通过 jps -m 查看是否启动 , 并且还需要通过:
./zkServer.sh status 查看状态, 必须看到一个leader 两个follower才认为启动成功了



启动Kafka集群: 

单节点: 每个节点都需要执行
cd /export/server/kafka_2.12-2.4.1/bin
前台启动:
	./kafka-server-start.sh ../config/server.properties
后台启动:
	nohup ./kafka-server-start.sh ../config/server.properties 2>&1 &

注意: 第一次启动, 建议先前台启动, 观察是否可以正常启动, 如果OK, ctrl +C 退出, 然后挂载到后台

如何停止:

单节点: 每个节点都需要执行
cd /export/server/kafka_2.12-2.4.1/bin
操作:
	jps 然后通过 kill -9
	或者:
	./kafka-server-stop.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值