【博学谷学习记录】超强总结,用心分享 | 初识kafka

【博学谷IT技术支持】

由来

Spark 最早源于一篇论文Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing
该论文是由加州大学柏克莱分校的 Matei Zaharia 等人发表的。论文中提出了一种弹性分布式数据集(即 RDD)的概念。

Spark 借鉴了 MapReduce 思想发展而来,保留了其分布式并行计算的优点并改进了其明显的缺陷。让中间数据存储在内存中提高了运行速度、并提供丰富的操作数据的API提高了开发速度。

时间线

  • 2009年起源于加州伯克利分校
  • 2010年Spark开源
  • 2013年捐赠给Apache Foundation
  • 2014年Spark成为Apache顶级项目
  • 2016年2.0
  • 2019年3.0

kafka的使用场景

 数据传递工作,需要将数据从一端传递到另一端,不限与两端的程序,在实时领域,主要是用于流式数据处理工作

Spark的组成

Spark是由多个组件组成,主要有Spark Core,Spark SQL,Spark Streaming, Spark MLib, Spark GraphX

Spark Core: Spark的核心
    主要维护RDD数据结构
    提供RDD各种API
    提供了与内存相关的API
    
Spark SQL: 通过SQL的方式来操作Spark

Spark Streaming:Spark 用于进行流式计算的组件

Spark MLib: Spark 用于进行机器学习的库

Spark GraphX: Spark用于进行图计算的库

kafka的特点

- 可靠性:分布式,分区,复制和容错等
- 可扩展性:kafka消息传递系统松放,无需停机
- 耐用性: kafka使用分布式提交日志,消息持久保存在磁盘上
- 性能:kafka对于发布和订阅消息都具有高吞吐量,即使存储了很多TB的消息,也非常稳定,保证零停机和零数据丢失

Kafka的架构

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

kafka启动

- 启动zookeeper集群
- 启动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 &

临时数据存储容器需要具备什么特性呢?

- FIFO(先进先出)
- 支持重复读取,支持容错
- 具备高效读取

什么是消息队列

  • 同步转异步
  • 应用解耦合
  • 流量削峰
  • 消息驱动系统

消息队列的两种消费模式

  • 点对点:一个数据只能被一个消费方来消费数据
  • 发布订阅模式: 可以被多个消费方同事接收到
posted @ 2023-03-20 00:34  牛牛牛牛牛牛牛牛  阅读(22)  评论(0编辑  收藏  举报