1

我有一个可以成功启动的集群,至少这是我在其中看到此信息的 Web UI 上显示的内容

URL: spark://Name25:7077
REST URL: spark://Name25:6066 (cluster mode)
Alive Workers: 10
Cores in use: 192 Total, 0 Used
Memory in use: 364.0 GB Total, 0.0 B Used
Applications: 0 Running, 5 Completed
Drivers: 0 Running, 5 Completed
Status: ALIVE

如果我以这种方式使用它,我使用提交命令来运行我的应用程序

./bin/spark-submit --class myapp.Main --master spark://Name25:7077 --deploy-mode cluster /home/lookupjar/myapp-0.0.1-SNAPSHOT.jar /home/etud500.csv  /home/

我收到这条消息:

使用 REST 应用程序提交协议运行 Spark。使用 Spark 的默认 log4j 配置文件:org/apache/spark/log4j-defaults.properties 16/08/31 15:55:16 INFO RestSubmissionClient:在 spark://Name25:7077 中提交启动应用程序的请求。16/08/31 15:55:27 WARN RestSubmissionClient:无法连接到服务器 spark://Name25:7077。警告:主端点 spark://Name25:7077 不是 REST 服务器。而是回退到旧版提交网关。16/08/31 15:55:28 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... 在适用的情况下使用内置 java 类

如果我以这种方式使用它:

./bin/spark-submit --class myapp.Main --master spark://Name25:6066 --deploy-mode cluster /home/lookupjar/myapp-0.0.1-SNAPSHOT.jar /home//etud500.csv  /home/result

我收到这条消息

使用 REST 应用程序提交协议运行 Spark。使用 Spark 的默认 log4j 配置文件:org/apache/spark/log4j-defaults.properties 16/08/31 16:59:06 INFO RestSubmissionClient:在 spark://Name25:6066 中提交启动应用程序的请求。16/08/31 16:59:06 INFO RestSubmissionClient: 提交成功创建为驱动程序-20160831165906-0004。轮询提交状态... 16/08/31 16:59:06 INFO RestSubmissionClient: 在 spark://Name25:6066 中提交对提交 driver-20160831165906-0004 状态的请求。16/08/31 16:59:06 INFO RestSubmissionClient:驱动程序 driver-20160831165906-0004 的状态现在正在运行。16/08/31 16:59:06 INFO RestSubmissionClient:驱动程序正在工作人员 worker-20160831143117-10.0.10.48-38917 在 10.0.10.48:38917 上运行。16/08/31 16:59:06 INFO RestSubmissionClient:

我认为这是成功的,但我的应用程序应该有 3 个输出到给定路径(/home/result),因为我在我的代码中使用了:

path =args [1];
rdd1.saveAsTextFile(path+"/rdd1");
rdd2.saveAsTextFile(path+"/rdd2");
rdd3.saveAsTextFile(path+"/rdd3");

问题 1:为什么它要求我使用“spark://Name25:6066”而不是“spark://Name25:7077”?因为根据火花网站我们使用:7077

问题2:如果显示提交成功并完成申请,为什么我找不到3个输出文件夹?

4

1 回答 1

0

使用 6066 提交并不表示您的工作已成功完成。它只是发送请求,作业在后台运行。您必须在 spark UI 上检查作业完成的状态。

如果作业已完成并且您的作业生成了输出文件,您可以使用以下命令检查您的文件:

hadoop dfs -ls <path>/rdd1
于 2016-08-31T16:58:38.193 回答