栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Kafka学习笔记

Kafka学习笔记

软件介绍:kafka是领英公司基于Scala语言开发的一款消息中间件,后捐献给了Apache基金会

功能:分布式流数据实时存储,实时的消息队列工具,分布式流式计算(很少用)

定义:分布式的基于订阅发布模式的高吞吐高并发高性能的实时消息队列系统

高效率读写         kafka数据基于内存存储

高并发        对数据分区,分区数据分布式存储在内存中

内存数据安全保证          副本机制       对分区数据保存多个副本,一台机器故障,其它机器也有备份;操作系统级别内存,只要服务器不断电,数据不会丢失

大数据量存储        数据可以保存到分布式磁盘(kafka自己维护的,不是hdfs)

大规模停电        很少停电,而且一般服务器有备用电源,可以用半天以上,有充足时间可以保存到磁盘等。

高可用:公平架构,zookeeper负责辅助选举和存储kafka的元数据

一些概念:

Topic 主题 用于区分不同数据,类似于数据库的表

Producer 生产者、source,负责往kafka写入数据的,比如采集数据的软件flume,canal,任何一个消费者必须属于一个消费者组,不允许消费者直接消费

Consumer 消费者、sink,负责读取消费kafka数据的,比如spark、flink、kafkastreaming

Broker kafka集群的节点,kafk的节点都叫做Broker

Partitioner 数据划分分区,不同分区可以分开存储,并行消费

Replication 副本,每个分区数据,保存多个副本,每个副本必须保存在不同Broker,总数不超过节点数。多个副本有主从之分,leader副本负责读写,follower节点负责从主节点同步数据。由kafka主节点负责谁是主副本。

Segment 分区中数据的划分,用于加快数据检索的效率,将数据按照规则写入不同文件,以后可以根据规则快速的定位数据所在的文件,读取对应的小的segment文件,不用读取所有数据文件

Offset 分区中每条数据的唯一标识,从小到大,是消费者按照offset读取数据,kafka保证消费数据不重复不遗漏,并且补损耗性能的关键,offset是分区级别的概念,每个分区各自一套offset

ConsumerGroup 消费者组,每个消费者必须属于一个组,以组为单位消费数据,组内可并行消费数据。

集群模式

kafka只有集群模式

架构:kafka集群采用公平架构,每一个节点都有称为主节点的权利

单点故障:kafka主节点

数据存储:分布式的内存副本机制和分布式磁盘

高可用(HA):kafka基于zookeeper实现,日志保存在zookeeper

集群启动时:所有节点会尝试在zookeeper 某个固定目录下注册一个临时节点,注册成功的称为主节点,其他节点会成为从节点,从节点会给该临时节点注册监听。

当主节点挂掉:收到监听的从节点,会尝试去zookeeper注册该节点,注册成功的成为主节点,其它的成为从节点。从节点给该临时节点注册监听。

kafka主从节点都叫Broker

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/710595.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号