【问题标题】:Spark streaming StreamingContext active count火花流 StreamingContext 活动计数
【发布时间】:2016-09-17 05:52:49
【问题描述】:

spark docs 状态:

一个 JVM 中只能同时激活一个 StreamingContext。

想象一下我计划从两个 Kafka 主题读取/处理数据的情况,其中一个作业从一个 Kafka 主题获取数据,另一个作业从另一个 kafka 主题获取数据。我可以同时在同一个 hadoop 集群上同时触发这两个作业吗?

它还指出,

一旦上下文停止,就无法重新启动。

因此,如果由于某种原因我必须停止 spark 作业,有什么方法可以重新启动它?我是通过 oozie 还是什么来触发它的?

【问题讨论】:

    标签: hadoop apache-spark streaming spark-streaming


    【解决方案1】:

    我可以在同一个 hadoop 集群上并行触发这两个作业吗 同时?

    为了简单起见,让我们澄清一下条款。 StreamingContext 在 Spark 作业中是唯一的。如果您想在同一个作业中读取多个流,可以通过将相同的StreamingContext 两次传递给不同的KafkaUtils.createStream 方法来实现。

    如果您有多个作业,您将这些作业提交给 Spark,那么每个作业都可以拥有自己的 StreamingContext。每个作业都有自己的 JVM 实例。

    因此,如果由于某种原因我必须停止 spark 作业,该怎么办 让它重新启动?

    实现您想要的一种可能的方法是使用 Spark 的集群模式来运行您的流式作业并传递 --supervise 标志。 Spark Master 将确保作业在失败时重新启动。

    您可以在 Sparks "Submitting Applications" 文档中阅读更多相关信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-17
      • 2017-04-27
      • 1970-01-01
      • 2019-04-02
      • 2016-02-07
      • 2015-05-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多