SparkStreaming部分:kafka的总结【文字说明+图片展示+各种命令】
Kafka的架构:分布式消息系统,默认将消息存入磁盘,存储时间是7天。
Producer:消息的生产者,自己决定消息写往哪个partition,两种:1.hash,2.轮询
Broker:组建kafka集群的节点,broker之间没有主从关系,broker由zookeeper来协调,broker负责消息的读写,存储。每个broker可以管理多个partition。
Topic:一类消息的总称/消息队列/分类,由partition组成,有多少,创建可以指定
Partition:实际存储数据的地方,每个partition有副本,有多少?创建topic时可以指定,partition是直接接触磁盘,append追加消息,每个partition都有一个broker来管理。这个broker叫做这个partition的leader
Consumer:消息的消费者。每个consumer都有自己的消费者组。组与组之间消费同一个topic时,互不影响。同一个消费者组内的消费者同一个topic时,这个topic中同一条数据只能被消费一次。Consumer自己通过zookeeper来维护消费者的offset
Zookeeper:协调数据,存储元数据,broker,partition等
————————————————————————————————————————————————————————
Kafka和sparkstreaming整合:
用flume也可以接sparkstreaming
问题:
Flume------->sparkStreaming,sparkStreaming由于峰值的影响,之间有数据丢失,数据卡了,kafka起到了解耦和压力缓冲
是一个分布式的消息队列系统。
Kafka是零拷贝,就是不经过内存,直接写到磁盘的。,直接存起来.kafka有三种作用:解耦,缓冲,异步通信
生产者不丢数据,消费者不丢数据,永久保存
一般情况下没有峰值
Kafka的吞吐量很大,可以达到百兆每秒
Kafka后期可以给sparkstreaming提供很稳定的流输出,做了一个解耦
同时起到了压力峰值的缓冲
存消息队列的系统
Kafka是一个生产者,消费者队列系统,会保证自己不丢失数据,而且是一个分布式的,也有集群
Hash:基于(K,V)格式
轮询:先在一个partition中写,写一会儿,再去切换另一个部分。
Partition内部是强有序的。
Offset是生产者的偏移量
kafka会源源不断的提供数据
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
