当前位置: 首页 > news >正文

[Spark、hadoop]Spark Streaming整合kafka实战

目录

一.KafkaUtils.createDstream方式

二.KafkaUtils.createDirectStream方式


9633f3bb7c3643d0a6989e51c0470ac6.gif#pic_center

 温习

Kafka是由Apache软件基金会开发的一个开源流处理平台,它使用Scala和Java语言编写,是一个基于Zookeeper系统的分布式发布订阅消息系统,该项目的设计初衷是为实时数据提供一个统一、高通量、低等待的消息传递平台。

①、Kafka的众多优点:其优点具体:

(1)解耦。Kafka 具备消息系统的优点,只要生产者和消费者数据两端遵循接口约束,就可以自行扩展或修改数据处理的业务过程。

(2)高吞吐量、低延迟。即使在非常廉价的机器上,Kafka也能做到每秒处理几十万条消息,而它的延迟最低只有几毫秒。

(3)持久性。Kafka 可以将消息直接持久化在普通磁盘上,且磁盘读写性能优异。

(4)扩展性。Kafka 集群支持热扩展,Kafka集群启动运行后,用户可以直接向集群添加新的Kafka服务。

(5)容错性。Kafka 会将数据备份到多台服务器节点中,即使Kafka集群中的某台节点宕机,也不会影响整个系统的功能。

(6)支持多种客户端语言。Kafka 支持Java.. NET .PHP、Python等多种语言。

Kafka使用消费组(Consumer Group)的概念统了点对点消息传递模式和发布订阅消息传递模式,当Kafka使用点对点模式时,它可以将待处理的工作任务平均分配给消费组。
 

一.KafkaUtils.createDstream方式

1.编写SparkStreaming_Kafka_createDstream.scala

2.切到master节点上创建topic,指定消息的类别

Cd /opt/module/kafka
bin/kafka-topics.sh --create --topic kafka_spark --partitions 3 --replication-factor 1 --zookeeper master:2181,slave1:2181,slave2:2181

3.先运行程序,启动kafka的消息生产者

[hadoop@master kafka]$ bin/kafka-console-producer.sh --broker-list master:9092 --topic kafka_spark

4.在master节点发送消息,可以看到控制台输出内容

kafka itcast itcast spark_kafka spark_kafka

二.KafkaUtils.createDirectStream方式

1.编写SparkStreaming_Kafka_createDirectStream.scala并运行程序

2.创建topic,发送消息

[hadoop@master kafka]$ bin/kafka-topics.sh --create --topic kafka_direct0 --partitions 3 --replication-factor 1 --zookeeper master:2181,slave1:2181,slave2:2181

3.启动kafka的消费生产者

[hadoop@master kafka]$ bin/kafka-console-producer.sh --broker-list master:9092 --topic kafka_direct0

4.在master节点发送消息,可以看到控制台输出内容

相关文章:

  • JavaSE——集合、集合继承结构图
  • HostMonitor监控软件
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • 接口查询优化:优雅的处理大批量数据及 in 超过 1000 问题
  • Linux搭建redis调试环境
  • 精确的数字-C++数据类型
  • C# 中的多线程和异步编程
  • 前端初识算法
  • SQL->基础->进阶
  • keepalived实现nginx负载均衡机高可用
  • 如何通过优化 Python 中的 GPU 使用率将视频处理速度提高 5 倍(教程含源码)
  • python获取文件夹下所有图片目录
  • 【MySQL】慢SQL搜集工具、SQL脱敏聚合处理
  • 手机号发验证码实现用户注册登录
  • 程序员缺乏经验的 7 种表现,你中了几个?
  • 《Java编程思想》读书笔记-对象导论
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • AngularJS指令开发(1)——参数详解
  • ES6语法详解(一)
  • HTTP那些事
  • iOS小技巧之UIImagePickerController实现头像选择
  • Java Agent 学习笔记
  • javascript从右向左截取指定位数字符的3种方法
  • js算法-归并排序(merge_sort)
  • MaxCompute访问TableStore(OTS) 数据
  • session共享问题解决方案
  • 电商搜索引擎的架构设计和性能优化
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 以太坊客户端Geth命令参数详解
  • 原生js练习题---第五课
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • Nginx实现动静分离
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​第20课 在Android Native开发中加入新的C++类
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)ssm码农论坛 毕业设计 231126
  • (论文阅读11/100)Fast R-CNN
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (转)jQuery 基础
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .net与java建立WebService再互相调用
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • @FeignClient注解,fallback和fallbackFactory
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证
  • []AT 指令 收发短信和GPRS上网 SIM508/548
  • [Angular] 笔记 8:list/detail 页面以及@Input
  • [BZOJ] 2427: [HAOI2010]软件安装
  • [C# 开发技巧]实现属于自己的截图工具
  • [C#]获取指定文件夹下的所有文件名(递归)
  • [CentOs7]iptables防火墙安装与设置
  • [CSDN首发]鱿鱼游戏的具体玩法详细介绍
  • [c语言]小课堂 day2