Spark Streaming - 检查点问题

Posted

技术标签:

【中文标题】Spark Streaming - 检查点问题【英文标题】:Spark Streaming - CheckPointing issue 【发布时间】:2015-08-05 12:36:06 【问题描述】:

我已经使用 twitter 的流用户 api 和 spark 流完成了 twitter 流。这在我的本地机器上成功运行。但是当我以本地模式在集群上运行这个程序时。它只是第一次成功运行。稍后它给出了以下异常。

"Exception in thread "main" org.apache.spark.SparkException: Found both spark.executor.extraClassPath and SPARK_CLASSPATH. Use only the former."

并且 spark 类路径已经取消了!! 我每次都必须创建一个新的检查点目录才能使其成功运行。否则显示上述异常。

谁能帮我解决这个问题? 谢谢:)

【问题讨论】:

【参考方案1】:

遇到过类似的问题。 设置 SPARK_CLASSPATH 会导致问题,因为它已被贬低。所以不要使用它。

导出 LIB_JARS=dependency/jcodings-1.0.8.jar,dependency.....等 spark-submit --deploy-mode 客户端 --master local --class org.xyz.spark.driver.SomeClass --num-executors 10 --jars $LIB_JARS

【讨论】:

【参考方案2】:

尝试使用

#!/bin/bash
HBASE_HOME=/opt/cloudera/parcels/CDH/lib/hbase
SPARK_CLASSPATH="$HBASE_HOME/conf/:$HBASE_HOME/hbase-client.jar:$HBASE_HOME/hbase-protocol.jar:$HBASE_HOME/lib/htrace-core.jar:$HBASE_HOME/lib/htrace-core-3.1.0-incubating.jar"
spark-submit --num-executors 2 --executor-cores 2 --executor-memory 10G  --conf spark.executor.extraClassPath=$SPARK_CLASSPATH your_spark_program.jar --class your_entry_class

最重要的是--conf spark.executor.extraClassPath=$SPARK_CLASSPATH

【讨论】:

您能否通过描述扩展您的答案,为什么这样可以解决问题?

以上是关于Spark Streaming - 检查点问题的主要内容,如果未能解决你的问题,请参考以下文章

Spark Streaming 检查点到 amazon s3

Spark Structured Streaming - 此查询不支持从检查点位置恢复

驱动程序重新启动后 Spark Streaming 检查点不起作用

如何将 Spark Streaming 检查点位置存储到 S3 中?

Spark Structured Streaming - 由于增加输入源的数量,检查点中的 AssertionError

Spark Streaming:读取和写入状态信息到外部数据库,如 cassandra