【问题标题】:spark - SparkContext and SqlContext - lifecycle and threadsaftyspark - SparkContext 和 SqlContext - 生命周期和线程安全
【发布时间】:2015-05-07 08:38:09
【问题描述】:

我正在开发基于用户查询作为输入、制定 spark sql 并在 spark 集群上执行它的 spark 的 rest 服务。这是我对 JavaSparkContext 和 JavaSqlContext 的假设:
1)它们都是线程安全的 2)我可以在整个应用程序中重用单个实例(上下文!)

基于此,我在应用程序启动期间仅初始化这些变量的一个实例,然后尝试将它们重用于所有传入请求。

我可以按预期触发请求并获得结果,但我最近发现我的应用程序如果空闲几分钟就会死掉,但出现以下异常。
11:49:50.475 [spark-akka.actor.default-dispatcher-14] ERROR o.a.s.s.c.SparkDeploySchedulerBackend- Application has been killed. Reason: Master removed our application: FAILED
11:49:50.477 [spark-akka.actor.default-dispatcher-14] ERROR o.a.s.scheduler.TaskSchedulerImpl- Exiting due to error from cluster scheduler: Master removed our application: FAILED

那么我的任何假设是否导致我出现这个问题或总体上的设计错误?

【问题讨论】:

    标签: apache-spark apache-spark-sql


    【解决方案1】:

    你的假设是正确的。实际上,每个 JVM 只能运行一个 SparkContext

    【讨论】:

    • 谢谢.. 现在情况好多了,因为我意识到我需要在某个网络上才能运行集群
    【解决方案2】:

    我得到的错误是网络错误。我们公司集群拒绝通过 VPN 连接

    【讨论】:

      猜你喜欢
      • 2021-08-28
      • 2011-02-19
      • 2017-10-03
      • 1970-01-01
      • 2022-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多