Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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
Apache spark spark streaming with kafka如何处理驱动程序异常_Apache Spark_Apache Kafka_Spark Streaming - Fatal编程技术网

Apache spark spark streaming with kafka如何处理驱动程序异常

Apache spark spark streaming with kafka如何处理驱动程序异常,apache-spark,apache-kafka,spark-streaming,Apache Spark,Apache Kafka,Spark Streaming,我有一个SPARK流应用程序,它从kafka直接流读取连续传入的数据 这是我的设置 spark-core_2.10 - 2.1.1 spark-streaming_2.10 - 2.1.1 spark-streaming-kafka-0-10_2.10 - 2.0.0 kafka_2.10 - 0.10.1.1 大多数时候它都运行得很好,但有时当我的另一个应用程序重新启动时,我会出现以下错误 WARN NetworkClient: Error while fetchi

我有一个SPARK流应用程序,它从kafka直接流读取连续传入的数据

这是我的设置

   spark-core_2.10 - 2.1.1
   spark-streaming_2.10 - 2.1.1
   spark-streaming-kafka-0-10_2.10 - 2.0.0
   kafka_2.10 - 0.10.1.1
大多数时候它都运行得很好,但有时当我的另一个应用程序重新启动时,我会出现以下错误

 WARN NetworkClient: Error while fetching metadata with correlation id 139022 : {topic4908100105=LEADER_NOT_AVAILABLE}
 18/05/24 11:59:33 WARN NetworkClient: Error while fetching metadata with correlation id 139022 : {topic000001=LEADER_NOT_AVAILABLE}
.
.
.

 ERROR JobScheduler: Error generating jobs for time 1527163130000 ms
 java.lang.IllegalArgumentException: requirement failed: numRecords must not be negative
我在SO中看到了其他帖子,有人建议重新启动kafka或spark应用程序以从错误中恢复。但我的应用程序必须在其上连续运行,无需任何手动干预

有没有办法在我的Spark consumer类(java)中处理此异常并重新启动流媒体或应用程序

警告NetworkClient:获取相关id为139022的元数据时出错:{topic4908100105=LEADER\u NOT\u AVAILABLE} 18/05/24 11:59:33警告NetworkClient:获取相关id为139022的元数据时出错:{topic000001=LEADER\u NOT\u AVAILABLE}

这是卡夫卡的问题,因为每个分区的领导人和追随者都在那里。领导提出的要求。如果由于zookeeper问题导致leader不可用,Kafka将抛出此错误

您需要修复卡夫卡问题才能接收数据。但是,您可以通过使用以下配置属性来处理异常情况

  • --形态spark.warn.maxapattempts=10
  • --conf spark.warn.am.attemptFailuresValidityInterval=1h
  • --conf spark.warn.max.executor.failures=10
  • --conf spark.warn.executor.failuresValidityInterval=1h

我没有使用Thread,而是使用Spark独立模式运行我的应用程序。