spark streaming不同模式配置

背景

1)试试本地模式的spark streaming

2)试试yarn模式的spark streaming

1、本地模式的spark streaming

代码如下:

package com.hxh

import org.apache.spark.SparkConf
import org.apache.spark.streaming.{Seconds, StreamingContext}

object newtest {
  def main(args: Array[String]): Unit = {
    val sparkConf = new SparkConf()
    sparkConf.setMaster("local[2]").setAppName("NetworkWordCount")
    val ssc = new StreamingContext(sparkConf, Seconds(4))
    val lines = ssc.socketTextStream("127.0.0.1", 9999)
    val results = lines.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _)
    results.print()
    ssc.start()
    ssc.awaitTermination()
  }
}

  

2、yarn模式的spark streaming

代码如下:

package com.hxh

import org.apache.spark.SparkConf
import org.apache.spark.streaming.{Seconds, StreamingContext}

object newtest {
  def main(args: Array[String]): Unit = {
    val sparkConf = new SparkConf()
    sparkConf.setMaster("yarn").setAppName("NetworkWordCount")
    val ssc = new StreamingContext(sparkConf, Seconds(4))
    val lines = ssc.socketTextStream("rsync.hxh.test1", 9999)
    val results = lines.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _)
    results.print()
    ssc.start()
    ssc.awaitTermination()
  }
}

  

3、对比

本地模式的streaming和yarn模式的streaming的区别是什么呢?

1)local模式的spark streaming启动后是streaming程序是运行在本地,即使你使用的--deploy-mode cluster参数,程序不会比提交到yarn

2)yarn模式的spark streaming启动后streaming程序是运行集群中的任意一台机器,这个必须在Scala代码里面指定sparkConf.setMaster("yarn"),才是on yarn的模式

4、sparkConf.setMaster介绍

为了初始化spark streaming程序,一个StreamingContext对象必须被创建,它是Spark Streaming所有流操作的主要入口。一个StreamingContext对象可以用SparkConf对象创建。可以使用SparkConf对象创建JavaStreamingContext对象

SparkConf conf = new SparkConf().setAppName(appName).setMaster(master);
JavaStreamingContext jsc = new JavaStreamingContext(conf, Durations.seconds(seconds));

1)appName:是应用程序在集群UI上显示的名称

2)master:是spark,mesos,yarn或者是本地运行的特殊字符串"local[*]"

实际上单在集群上运行时,不想在程序中硬编码master,而是希望使用spark-submit启动应用程序时,得到master的值。但是对于本地测试和单元测试,可以传递"local[*]"来运行spark streaming程序

原文地址:https://www.cnblogs.com/gentlemanhai/p/12628509.html

时间: 2024-09-30 16:41:22

spark streaming不同模式配置的相关文章

关于IDEA开发环境下的Kafka+Spark Streaming的classpath配置方式

一.前言 在使用Spark Streaming中的Kafka Direct API进行Kafka消费的过程中,通过spark-submit的方式提交jar包,会出现如下错误信息,提示无法找到KafkaUtils. Exceptionin thread "main" java.lang.NoClassDefFoundError: org/apache/spark/streaming/kafka/KafkaUtils$ at com.zhkmxx.scala.app.KafkaStream

Kafka+spark Streaming | Driect模式

可以基于checkpoint恢复offset--------->Driver HA 原文地址:https://www.cnblogs.com/zy-sai/p/9349752.html

spark配置(4)-----Spark Streaming

Spark Streaming Spark Streaming 使用 Spark API 进行流计算,这意味着在 Spark 上进行流处理与批处理的方式一样.因此,你可以复用批处理的代码,使用 Spark Streaming 构建强大的交互式应用程序,而不仅仅是用于分析数据. Spark Streaming 示例(基于流的单词统计)来演示一下 Spark Streaming:本地服务器通过 TCP 接收文本数据,实时输出单词统计结果. nc -l -p 9999 # 需要另外开启一个终端,记为终

Dataflow编程模型和spark streaming结合

Dataflow编程模型和spark streaming结合 主要介绍一下Dataflow编程模型的基本思想,后面再简单比较一下Spark  streaming的编程模型 == 是什么 == 为用户提供以流式或批量模式处理海量数据的能力,该服务的编程接口模型(或者说计算框架)也就是下面要讨论的dataflow model 流式计算框架处理框架很多,也有大量的模型/框架号称能较好的处理流式和批量计算场景,比如Lambda模型,比如Spark等等,那么dataflow模型有什么特别的呢? 这就要要从

Spark Streaming源代码学习总结(一)

1.Spark Streaming 代码分析: 1.1 演示样例代码DEMO: 实时计算的WorldCount: import org.apache.spark.streaming.{Seconds, StreamingContext} import org.apache.spark.streaming.StreamingContext._ import org.apache.spark.storage.StorageLevel object NetworkWordCount { def mai

Spark Streaming源码学习总结(一)

1.Spark Streaming 代码分析: 1.1 示例代码DEMO: 实时计算的WorldCount: import org.apache.spark.streaming.{Seconds, StreamingContext} import org.apache.spark.streaming.StreamingContext._ import org.apache.spark.storage.StorageLevel object NetworkWordCount { def main(

Spark Streaming编程指南

本文基于Spark Streaming Programming Guide原文翻译, 加上一些自己的理解和小实验的结果. 一.概述 Spark Streaming是基于Core Spark API的可扩展,高吞吐量,并具有容错能力的用于处理实时数据流的一个组件.Spark Streaming可以接收各种数据源传递来的数据,比如Kafka, Flume, Kinesis或者TCP等,对接收到的数据还可以使用一些用高阶函数(比如map, reduce, join及window)进行封装的复杂算法做进

Spark Streaming容错的改进和零数据丢失

本文来自Spark Streaming项目带头人 Tathagata Das的博客文章,他现在就职于Databricks公司.过去曾在UC Berkeley的AMPLab实验室进行大数据和Spark Streaming的研究工作.本文主要谈及了Spark Streaming容错的改进和零数据丢失. 以下为原文: 实时流处理系统必须要能在24/7时间内工作,因此它需要具备从各种系统故障中恢复过来的能力.最开始,Spark Streaming就支持从driver和worker故障恢复的能力.然而有些

第82课:Spark Streaming第一课:案例动手实战并在电光石火间理解其工作原理

本期内容: 1.Spark Streaming 动手实战演示 2.闪电般理解Spark Streaming原理 案例动手实战并在电光石火间理解其工作原理 流(Streaming),在大数据时代为数据流处理,就像水流一样,是数据流:既然是数据流处理,就会想到数据的流入.数据的加工.数据的流出. 日常工作.生活中数据来源很多不同的地方.例如:工业时代的汽车制造.监控设备.工业设备会产生很多源数据:信息时代的电商网站.日志服务器.社交网络.金融交易系统.黑客攻击.垃圾邮件.交通监控等:通信时代的手机.