Apache spark Spark流执行流

Apache spark Spark流执行流,apache-spark,spark-streaming,Apache Spark,Spark Streaming,我是一个新的火花流,我有一些疑问,同样喜欢 我们需要一个以上的执行人,还是需要一个以上的执行人来完成我们的工作 我使用createDirectStream从kafka提取数据,createDirectStream是一种无接收器的方法,批处理持续时间为一分钟,因此我的数据在一个批处理中接收,然后在另一个批处理持续时间内处理,或者同时处理 如果同时处理,如何确保我的处理在批处理期间完成 如何使用该web UI进行监视和调试 我们需要一个以上的执行人,还是需要一个以上的执行人来完成我们的工作 视情况而

我是一个新的火花流,我有一些疑问,同样喜欢

  • 我们需要一个以上的执行人,还是需要一个以上的执行人来完成我们的工作
  • 我使用createDirectStream从kafka提取数据,createDirectStream是一种无接收器的方法,批处理持续时间为一分钟,因此我的数据在一个批处理中接收,然后在另一个批处理持续时间内处理,或者同时处理
  • 如果同时处理,如何确保我的处理在批处理期间完成
  • 如何使用该web UI进行监视和调试
  • 我们需要一个以上的执行人,还是需要一个以上的执行人来完成我们的工作

    视情况而定:)。如果你有一个非常小的流量进来,很可能是一个机器代码就足够了。就容错性而言,这可能不是一个好主意,因为单个执行器可能会崩溃并导致整个流出错

    我正在使用createDirectStream从kafka中提取数据,它是 无接收器方法和批处理持续时间为一分钟,我的数据也是如此 在一批中接收,然后在另一批中处理 持续时间或同时处理

    您的数据每分钟读取一次并进行处理,只有在整个作业完成后,数据才会继续到下一个作业。只要批处理时间少于一分钟,就不会有问题。如果处理时间超过一分钟,您将开始累积延迟

    如果它是同时处理的,那么如何确保我的 是否在批处理持续时间内完成处理


    只要不将
    spark.streaming.concurrentJobs
    设置为大于1,就会执行一个流图,一次一个

    如何使用该web UI进行监视和调试

    这个问题一般来说太宽泛了。我建议从提交应用程序后创建的“流”选项卡开始,并开始深入了解每个批次的详细信息,然后继续

    我们需要一个以上的执行人,还是需要一个以上的执行人来完成我们的工作

    视情况而定:)。如果你有一个非常小的流量进来,很可能是一个机器代码就足够了。就容错性而言,这可能不是一个好主意,因为单个执行器可能会崩溃并导致整个流出错

    我正在使用createDirectStream从kafka中提取数据,它是 无接收器方法和批处理持续时间为一分钟,我的数据也是如此 在一批中接收,然后在另一批中处理 持续时间或同时处理

    您的数据每分钟读取一次并进行处理,只有在整个作业完成后,数据才会继续到下一个作业。只要批处理时间少于一分钟,就不会有问题。如果处理时间超过一分钟,您将开始累积延迟

    如果它是同时处理的,那么如何确保我的 是否在批处理持续时间内完成处理


    只要不将
    spark.streaming.concurrentJobs
    设置为大于1,就会执行一个流图,一次一个

    如何使用该web UI进行监视和调试


    这个问题一般来说太宽泛了。我建议从提交应用程序后创建的“流”选项卡开始,然后开始深入了解每个批次的详细信息,并从那里继续。

    添加更多关于监控的内容

    如何使用该web UI进行监视和调试

    在localhost:4040上的流式处理选项卡中监视您的应用程序,要查找的主要指标是处理时间调度延迟。看一下官方文件:

    批次持续时间为一分钟

    您的批处理持续时间有点长,请尝试使用较低的值对其进行调整,以改善延迟。4秒可能是一个好的开始


    另外,在Graphite上监视这些指标并设置警报也是一个好主意。看一下这篇文章

    来增加一些关于监控的内容

    如何使用该web UI进行监视和调试

    在localhost:4040上的流式处理选项卡中监视您的应用程序,要查找的主要指标是处理时间调度延迟。看一下官方文件:

    批次持续时间为一分钟

    您的批处理持续时间有点长,请尝试使用较低的值对其进行调整,以改善延迟。4秒可能是一个好的开始


    另外,在Graphite上监视这些指标并设置警报也是一个好主意。看看这篇文章

    如何在使用较低或较高的批处理持续时间时比较资源使用情况如何在使用较低或较高的批处理持续时间时比较资源使用情况Spark.streaming.concurrentJobs是单个执行者要执行的作业数,那么,您的性能会受到怎样的影响?建议您的性能超过1。您可以提供任何资源来了解web吗UI@JSR29concurrentJobs意味着您一次可以执行两个作业(例如,如果您的一个作业暂停超过一分钟,则第二个作业仍将执行)@JSR29对于第一部分的答案,您说如果流量很低,但我们的接收器不知道流量是多少,因此它将继续接收,那么它如何处理dataspark.streaming.concurrentJobs是单个执行器要执行的作业数,那么,您的性能会受到怎样的影响?建议您的性能超过1。您可以提供任何资源来了解web吗UI@JSR29concurrentJobs意味着您一次可以执行两个作业(例如,如果您的一个作业暂停超过一分钟,则第二个作业仍将执行)@JSR29对于第一部分的答案,你说如果流量很低,但我们的接收器不知道,那么流量会是多少