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