spark—kafka

消息队列与Kafka介绍

消息队列模式

点对点模式和发布订阅模式。Kafka主要使用发布订阅模式。

Kafka角色

包括broker、topic、分区、生产者、消费者、消费者组、副本、leader和follower

|--------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|
| 术语 | 解释 |
| Broker | 安装了kafka的节点 |
| | |
| Topic | 每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处),发送消息必须有主题。 |
| Partition | Partition是物理上的概念,每个Topic包含一个或多个Partition. |
| Producer | 负责发布消息到Kafka broker |
| Consumer | 消息消费者,向Kafka broker读取消息的客户端 |
| Consumer Group | 每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group) 当consumer去消费数据的时候,会有一个偏移量(offset),一个分区的数据,一个consumer只能消费一次。 |
| replica | partition 的副本,保障 partition 的高可用 |
| leader | replica 中的一个角色, producer 和 consumer 只跟 leader 交互 |
| follower | replica 中的一个角色,从 leader 中复制数据,数据备份,如果leader挂掉,顶替leader的工作 |
| controller | Kafka 集群中的其中一个服务器,用来进行 leader election 以及各种 failover |

Kafka特性

高吞吐量低延迟、可扩展性、持久性和可靠性、容错性、高并发性。

Kafka安装步骤

环境依赖:需要先安装JDK和Zookeeper。

版本一致性:Kafka和Scala版本需要一致。

安装包上传与解压:上传安装包到指定目录并解压。

配置修改:修改配置文件中的ID、主机名、日志路径、分区数量和Zookeeper集群端口号。

分发安装包:将安装包分发到其他节点并修改相应的配置。

启动Kafka集群

启动命令:使用后台守护进程启动Kafka集群。

环境变量配置:添加Kafka的环境变量并修改脚本文件权限。

一键启动脚本:使用脚本文件一键启动和关闭Kafka集群。

Spark与YARN环境安装

解压缩与重命名:对Spark进行解压缩和重命名。

配置文件修改:修改配置文件,添加Java Home和YARN相关变量。

分发与启动:分发配置文件到其他节点,启动HDFS和YARN集群,提交测试应用。

Spark-yarn

修改hadoop配置文件/opt/software/hadoop/hadoop-2.9.2/etc/hadoop/yarn-site.xml,并分发给其他节点。

是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是 true<property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property>是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是 true<property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value></property>

返回到spark-yarn目录,修改conf/spark-env.sh,添加 JAVA_HOME 和 YARN_CONF_DIR 配置。

mv spark-env.sh.template spark-env.shvi spark-env.sh

启动HDFS以及Yarn集群提交测试应用bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master yarn \--deploy-mode cluster \./examples/jars/spark-examples_2.12-3.0.0.jar \

有SUCCEEDED就是成功了

相关推荐
KaMeidebaby12 小时前
卡梅德生物技术快报|peg 修饰调控 MXene/WS2 异质结,氨气传感器制备与机理研究
大数据·前端·人工智能·架构·spark·新浪微博
笑尘~Y18 小时前
Kafka核心技术解析
kafka
江华森19 小时前
Kafka 从入门到精通 — 完整学习笔记
笔记·学习·kafka
Irene199119 小时前
(课堂笔记)Kafka + Flume 完整实战
kafka·flume
Irene199120 小时前
Kafka + Flume 实操详情记录(略繁琐,包含错误和排查记录)
kafka·flume
JAVA面经实录91720 小时前
Kafka 全套学习知识手册
java·kafka
零壹AI实验室20 小时前
NVIDIA RTX Spark深度测评:个人AI智能体时代真的来了?
人工智能·ajax·spark
是小王同学啊~2 天前
Kafka 面试通关笔记:高频八股 + 生产实战 + 追问链路(上)
笔记·面试·kafka
Devin~Y2 天前
从内容社区到AIGC客服:Spring Boot、Redis、Kafka、K8s、RAG的三轮大厂Java面试对话(附标准答案)
java·spring boot·redis·spring cloud·kafka·kubernetes·micrometer
Hello_worlds2 天前
Kafka InconsistentClusterIdException 导致容器无限重启,磁盘打满排查与修复
docker·kafka·磁盘·排障