- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我制作了 spark+hadoop yarn 环境并且 spark-submit 命令运行良好。所以我在我的应用程序 jar 中制作了 SparkLauncher java 代码来执行此操作,但不知何故它不起作用(实际上电脑风扇一开始是在旋转,但不像我使用 spark-submit 那样长。)
它似乎运行不佳(与 spark-submit 不同,hadoop web ui 中没有应用程序登录)。当我使用“SparkLauncher”时,我看不到任何错误日志。没有日志消息,我无法用它做任何事情。
到目前为止,这是我如何做到的。
public class Main {
public static void main(String[] args) {
Process spark = null;
try
{
spark = new SparkLauncher()
.setAppResource("/usr/local/spark/examples/jars/spark-examples*.jar")
.setMainClass("org.apache.spark.examples.SparkPi")
.setMaster("yarn")
.setDeployMode( "cluster")
.launch();
}
catch( IOException e)
{
e.printStackTrace();
}
}
}
用 (java -jar example.jar) 执行它
最佳答案
我一开始也遇到了同样的问题。我认为主要问题是您忘记了 waitFor()。
此外,在 Java 代码中提取 errorMessage 并处理它(例如记录它或在调试时检查它)真的很有帮助。为此,您应该创建一个 streamReader 线程,如下所示:
InputStreamReaderRunnable errorStreamReaderRunnable = new InputStreamReaderRunnable(spark.getErrorStream(), "error");
Thread errorThread = new Thread(errorStreamReaderRunnable, "LogStreamReader error");
errorThread.start();
int result= spark.waitFor();
if(result!=0) {
String errorMessage = extractExceptionMessage(errorStreamReaderRunnable.getMessage());
LOGGER.error(errorMessage);
}
这应该在您的 launch() 命令之后和您的 try block 内。希望对你有帮助
关于java - Java 中的 Spark 提交(SparkLauncher),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42780886/
我已经编写了一个部署在unix机器上的小类,但我似乎无法弄清楚为什么会出现这个错误。我检查了我的 SPARK_HOME 并添加了所有必需的选项,如下面的类所示。我试图将其编写为监视 Spark 线程最
我在 Spark v1.6.0 中使用 SparkLauncher。我的问题是,当我使用此类启动我的 Spark 作业时,它立即返回并且没有提交任何作业。我的代码如下。 new SparkLaunch
我使用的是 Spark 2.0,有时我的工作会因为输入问题而失败。例如,我正在根据日期从 S3 文件夹中读取 CSV 文件,如果当前日期没有数据,则我的工作无需处理,因此会引发如下异常。这会打印在驱动
尝试使用 masterURL=yarn-client 运行 Spark 作业。使用 SparkLauncher 2.10。 java代码被封装在nifi处理器中。 Nifi 当前正在以 root 身份
我正在尝试使用 SparkLauncher 运行 spark 作业。我的 spark 应用程序 jar 不是 fat jar,它依赖于很多其他第 3 方 jar,有没有办法在 SparkLaunche
我制作了 spark+hadoop yarn 环境并且 spark-submit 命令运行良好。所以我在我的应用程序 jar 中制作了 SparkLauncher java 代码来执行此操作,但不知何
当使用 spark-submit 将 Spark 应用程序提交到 Yarn 时,我可以通过 --driver-java-options 将 java 选项传递给驱动程序,例如: spark-submi
当使用 spark-submit 将 Spark 应用程序提交到 Yarn 时,我可以通过 --driver-java-options 将 java 选项传递给驱动程序,例如: spark-submi
spark-submit 允许我们通过 --keytab 和 --principal 选项传递 Kerberos 凭据。如果我尝试通过 addSparkArg("--keytab",keytab) 添
我是一名优秀的程序员,十分优秀!