SparkStreaming整合kafka_的介绍第二章

Kafka快速回顾
核心概念图解:
在这里插入图片描述

Broker : 安装Kafka服务的机器就是一个broker
Producer :消息的生产者,负责将数据写入到broker中(push)
Consumer:消息的消费者,负责从kafka中拉取数据(pull),老版本的消费者需要依赖zk,新版本的不需要
Topic: 主题,相当于是数据的一个分类,不同topic存放不同业务的数据 --主题:区分业务
Replication:副本,数据保存多少份(保证数据不丢失) --副本:数据安全
Partition:分区,是一个物理的分区,一个分区就是一个文件,一个Topic可以有1~n个分区,每个分区都有自己的副本 --分区:并发读写
Consumer Group:消费者组,一个topic可以有多个消费者/组同时消费,多个消费者如果在一个消费者组中,那么他们不能重复消费数据 --消费者组:提高消费者消费速度、方便统一管理
注意:一个Topic可以被多个消费者或者组订阅,一个消费者/组也可以订阅多个主题
注意:读数据只能从Leader读, 写数据也只能往Leader写,Follower会从Leader那里同步数据过来做副本!!!

常用命令

#启动kafka
/export/servers/kafka/bin/kafka-server-start.sh -daemon /export/servers/kafka/config/server.properties
#停止kafka
/export/servers/kafka/bin/kafka-server-stop.sh
#查看topic信息
/export/servers/kafka/bin/kafka-topics.sh --list --zookeeper node01:2181
#创建topic
/export/servers/kafka/bin/kafka-topics.sh --create --zookeeper node01:2181 --replication-factor 3 --partitions 3 --topic test
#查看某个topic信息
/export/servers/kafka/bin/kafka-topics.sh --describe --zookeeper node01:2181 --topic test
#删除topic
/export/servers/kafka/bin/kafka-topics.sh --zookeeper node01:2181 --delete --topic test
#启动生产者–控制台的生产者一般用于测试
/export/servers/kafka/bin/kafka-console-producer.sh --broker-list node01:9092 --topic spark_kafka
#启动消费者–控制台的消费者一般用于测试
/export/servers/kafka/bin/kafka-console-consumer.sh --zookeeper node01:2181 --topic spark_kafka–from-beginning
消费者连接到borker的地址
/export/servers/kafka/bin/kafka-console-consumer.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --topic spark_kafka --from-beginning

整合Kafka两种模式说明
在这里插入图片描述
在这里插入图片描述
总结
Receiver接收方式
1、多个Receiver接受数据效率高,但有丢失数据的风险。
2、开启日志(WAL)可防止数据丢失,但写两遍数据效率低。
3、Zookeeper维护offset有重复消费数据可能。
4、使用高层次的API
Direct直连方式
1、不使用Receiver,直接到kafka分区中读取数据
2、不使用日志(WAL)机制。
3、Spark自己维护offset
4、使用低层次的API

发布了238 篇原创文章 · 获赞 429 · 访问量 25万+

猜你喜欢

转载自blog.csdn.net/qq_45765882/article/details/105563344
今日推荐