应用程序抛出一个java。lang.NoSuchMethodException
堆栈跟踪
DAGScheduler: Failed to run runJob at ReceiverTracker.scala:275
Exception in thread "Thread-33" org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 6.0 failed 4 times, most recent failure: Lost task 0.3 in stage 6.0 (TID 77, 172.20.7.60): java.lang.NoSuchMethodException: org.apache.spark.examples.streaming.KafkaKeyDecoder.<init>(kafka.utils.VerifiableProperties)
java.lang.Class.getConstructor0(Class.java:2810)
java.lang.Class.getConstructor(Class.java:1718)
org.apache.spark.streaming.kafka.KafkaReceiver.onStart(KafkaInputDStream.scala:106)
org.apache.spark.streaming.receiver.ReceiverSupervisor.startReceiver(ReceiverSupervisor.scala:121)
org.apache.spark.streaming.receiver.ReceiverSupervisor.start(ReceiverSupervisor.scala:106)
org.apache.spark.streaming.scheduler.ReceiverTracker$ReceiverLauncher$$anonfun$9.apply(ReceiverTracker.scala:264)
org.apache.spark.streaming.scheduler.ReceiverTracker$ReceiverLauncher$$anonfun$9.apply(ReceiverTracker.scala:257)
org.apache.spark.SparkContext$$anonfun$runJob$4.apply(SparkContext.scala:1121)
org.apache.spark.SparkContext$$anonfun$runJob$4.apply(SparkContext.scala:1121)
org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:62)
org.apache.spark.scheduler.Task.run(Task.scala:54)
org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:177)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:745)
这个问题似乎已经在spark 1.1中解决了。0根据此链接
火花:1.1。Kafka:0.8。1.1
您缺少包含该方法的Kafka jar。
在我的案例中,正如在评论中解释的那样,通过删除库冲突,我能够正确地使用kafka中的数据并将其存储到cassandra,从而将作业部署到Datastax Analytics解决方案中。我发现与开源的不同之处在于,streaming_kafka jar和所有scala库都已经包含在executor类路径中。
因此,我建议如下:
我假设您正在构建一个试图部署的uber jar。
问题内容: 发生异常时,如何重新启动我的应用程序? 问题答案: 您可以将进程作为另一个进程的分支来运行,因此如果它死了,则可以对其进行分支。您将为此使用本机集群模块: 此代码生成一个工作进程,如果在工作进程中引发错误,它将关闭,并且退出将重新生成另一个工作进程。
问题内容: 我有一个Java应用程序。 该应用程序具有一个设置,该设置决定该应用程序是否在启动时启动。 目前,我可以通过在“启动项目”文件夹中放置/删除快捷方式来实现此目的。 但是,我想知道是否有更好的方法来处理此行为。 编辑 是的,它是Windows。抱歉,之前没有清除该内容。 该应用程序具有一个用户可以在其中触发动作的UI,并且该应用程序在运行时会定期在后台运行一些任务。 @Peter,如何在
问题内容: 我已经有这个问题近两个月了,无法解决。问题是,如果我的应用程序正在运行,并且我从Eclipse运行(重新安装)我的应用程序,则会收到一条错误消息,指示我的应用程序已崩溃“不幸的是,已停止。”。我注意到,当我从PC / Eclipse上运行它时,也会发生这种情况,我认为只有在一段时间不运行它时,它才会发生。 仅当应用程序在第三个活动(BaseDiagramActivity)中处于活动状态
我有一份Java申请。 应用程序有一个决定应用程序是否在启动时启动的设置。 目前,我通过在StartUp items文件夹中放置/删除快捷方式实现了这一点。 然而,我想知道是否有更好的方法来处理这种行为。 编辑 是的,是视窗。抱歉之前没有清除。 应用程序有一个UI,用户可以在其中触发操作,并且应用程序在运行时定期在后台运行一些任务。 @Peter,如何使用应用程序中的代码更改注册表?这种方法是否与
我正在用VSCode中的C#编写一个语音到文本的模型。模型正确地转录了第一个文件。当我添加新文件并尝试转录时,出现以下错误: 发生异常:CLR/System。ApplicationException类型为“System”的异常。系统中发生ApplicationException“”。私有的CoreLib。dll,但未在Microsoft的用户代码中处理:“异常,错误代码:0x8(SPXERR\u文
在我最终弄清楚为什么JWS 1.6.0_29无法启动1.4.2_12应用程序(请参见此问题)之后,我在启动1.4.2_12应用程序时遇到了另一个异常。使用JWS 1.6.0_29。 加载ResourceBundle时,我得到一个Missing ResourceExc0019。然而,message.properties文件确实存在于加载它的类的同一个包中。 当使用JWS 1.4或1.5启动应用程序时