问题标签 [spark-launcher]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Spark Launcher 无限等待作业完成
我正在尝试将带有 Spark 作业的 JAR 从 Java 代码提交到 YARN 集群中。我正在使用 SparkLauncher 提交 SparkPi 示例:
有两个问题:
- 在“yarn-cluster”模式下提交时,应用程序成功提交到 YARN 并成功执行(它在 YARN UI 中可见,报告为 SUCCESS 并在输出中打印 pi)。但是,提交应用程序永远不会收到处理完成的通知 - 在打印“Waiting to finish...”后它会无限挂起。容器的日志可以在这里找到
- 在“yarn-client”模式下提交时,应用程序没有出现在 YARN UI 中,提交应用程序在“Waiting to finish...”处挂起。当挂起代码被杀死时,应用程序显示在 YARN UI 中并报告为SUCCESS,但输出为空(pi 没有打印出来)。容器的日志可以在这里找到
我尝试使用 Oracle Java 7 和 8 执行提交应用程序。
apache-spark - 如何在 SparkLauncher 中设置驱动程序 java 选项
在使用spark-submit
向 Yarn 提交 Spark 应用程序时,我可以通过 将 java 选项传递给驱动程序--driver-java-options
,例如:
通过提交时如何实现相同的效果SparkLauncher
?特别是,有没有办法用 Spark 1.4 实现它?
java - 为什么 SparkLauncher 立即返回并且没有产生任何工作?
我SparkLauncher
在 Spark v1.6.0 中使用。我的问题是,当我使用这个类来启动我的 Spark 作业时,它会立即返回并且没有提交任何作业。我的代码如下。
当我调试代码时,令我惊讶的是,这 clazz 所做的只是调用一个spark-submit.cmd
使用ProcessBuilder
.
ProcessBuilder
但是,如果我直接在控制台上运行此命令(由 运行的命令),则会提交一个 Spark 作业。关于发生了什么的任何想法?
还有另一种方法SparkLauncher.launch()
可用,但 javadocs 说要避免这种方法。
知道发生了什么吗?
apache-spark - Web 应用程序无法使用 SparkLauncher 启动 Spark 作业
我想从 Javaee Web 应用程序启动 Spark 作业,但 SparkLauncher 无异常启动,并且 Spark 集群上没有启动作业。有人可以帮忙吗?
Web 服务器的日志:
但是 Spark 集群上没有启动任何作业。spark.waitFor() 方法在调用后立即返回,该方法应该运行几秒钟。
java - 如何在从另一个应用程序启动时正确等待 apache spark 启动器作业?
当我等到我的 spark apache 工作完成但没有成功时,我试图避免“while(true)”解决方案。
我有 spark 应用程序,它假设处理一些数据并将结果放入数据库,我确实从我的 spring 服务中调用它,并希望等到工作完成。
例子:
带有方法的启动器:
如何正确等待处理程序的状态为“完成”。
apache-spark - Spark 启动器句柄和侦听器未提供状态
我有一个 Web 应用程序,它将使用 spark 启动器库在 Cloudera 火花集群上提交火花作业。
它正在成功地将 spark 作业提交到集群。但是,它不会回调侦听器类方法,并且即使在集群上的作业完成执行后getState()
,返回的SparkAppHandle也不会从“未知”更改。
我正在使用yarn-cluster
模式。这是我的代码。还有什么需要做的吗?
以下是我已经尝试过的事情:
SparkAppHandle
在应用程序启动后添加侦听器实例。- 使当前类实现
SparkAppHandle.Listener
并以两种方式传递它(this
)(在启动时,并通过设置它SparkAppHandle
) - 尝试使用
launcher.launch()
方法,以便至少我可以Process
通过调用process.waitFor()
方法阻止生成的对象,直到火花作业在集群上完成运行。但是在这种情况下,对于长时间运行的 spark 作业,此节点上的相应进程永远不会返回(尽管它对于在 1 或 2 分钟内完成的 spark 作业工作正常)
java - SparkLauncher:应用程序参数被视为无法识别的选项
我正在使用 SparkLauncher 从代码提交 Spark 应用程序。
现在,作业根本没有运行,也没有调用处理函数,我认为这是因为作业配置中的错误。在输出日志中,我可以看到以下错误:
因此,在我看来,代码无法将 appArgs 与 sparkArguments 分开识别。
任何指针?我用于添加 AppArgs 的格式是否正确?
apache-spark - 使用 SparkStreaming 应用程序中的 SparkLauncher 启动 Spark 应用程序
我正在编写一个 KafkaConsumer 应用程序,我们在其中以 Yarn-Cluster 模式运行 Kafka Consumer 作为 Spark Streaming 应用程序。这个 KafkaConsumer 的职责是监听不同的主题并使用 org.apache.spark.launcher.SparkLauncher 以 Yarn-Cluster 模式启动新的 SparkApplications。
现在的问题是,当 KafkaConsumer 在 Yarn-Client 模式下运行时,新的 Spark 应用程序会成功启动,但在集群模式下它会卡住。
非常感谢任何帮助或指示。提前致谢。
java - 接收使用 SparkLauncher 启动的火花作业的结果
我正在使用以下代码启动火花作业:
我的 test.jar 文件代码如下:
我想在成功完成 spark 作业后在启动应用程序时检索计数。但是InputStream
,sparkProcess
我总是收到null
我在这里做错了什么?
java - SparkAppHandle 永远给出未知状态
我正在使用SparkLauncher
.
我可以看到我的工作在 SparkUI 上运行,并且它正在完成而没有任何错误。
但是,我的 java 应用程序永远不会终止,因为jobHandle.getState()
始终保持UNKNOWN
状态。我在这里想念什么?我的火花 API 版本是 2.0.0。另一个可能相关的细节是我的启动器应用程序正在 Windows 上运行。