Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 在Spark执行器中引发异常时会发生什么?_Mongodb_Apache Spark - Fatal编程技术网

Mongodb 在Spark执行器中引发异常时会发生什么?

Mongodb 在Spark执行器中引发异常时会发生什么?,mongodb,apache-spark,Mongodb,Apache Spark,我有一个spark结构化流媒体工作,我正在使用mapPartitions,其中它连接到mongo客户端,并使用mongo中的数据丰富来自kafka的流数据。有时候,mongo无法连接,我在一个executor任务中遇到异常。但这项工作并没有停止,但也停止了使用卡夫卡的数据。它进入挂起状态 现在我在做平常的事情, try{ //enrich data } catch { case e: Exception => { e.printStackTrace() sys.

我有一个spark结构化流媒体工作,我正在使用
mapPartitions
,其中它连接到mongo客户端,并使用mongo中的数据丰富来自kafka的流数据。有时候,mongo无法连接,我在一个executor任务中遇到异常。但这项工作并没有停止,但也停止了使用卡夫卡的数据。它进入挂起状态

现在我在做平常的事情,

try{

//enrich data

} catch {
  case e: Exception => {
     e.printStackTrace()
     sys.exit(0)
  }
} finally {
  //close mongo connection
}

如果我在执行器中抛出异常,驱动程序是否捕获异常?另外,是否有更好的方法来处理此类连接异常,例如重新连接后执行器重新启动。

在Spark和Hadoop中分别设置以下配置以重试

spark.task.maxFailures

warn.resourcemanager.am.max-tests

重试后,异常将被抛出回驱动程序

另外,挂起状态可能是您的mongo客户端等待超时。有关设置较短超时属性的信息,请参阅下文