找不到 Spark 应用程序输出



我有一个集群,我可以成功启动,至少这是显示在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

我使用submit命令来运行我的应用程序,如果我这样使用它

./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.properties16/08/31 15:55:16 INFO RestSubmissionClient:在spark中提交一个启动应用程序的请求://Name25:7077。16/08/31 15:55:27警告RestSubmissionClient: cannot to connect to server spark://Name25:7077。警告:主端点spark://Name25:7077不是REST服务器。而是退回到遗留提交网关。16/08/31 15:55:28警告:无法为您的平台加载本机hadoop库…在合适的地方使用内置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.properties16/08/31 16:59:06 INFO RestSubmissionClient:在spark中提交一个启动应用程序的请求://Name25:6066。16/08/31 16:59:06 INFO RestSubmissionClient: Submission successfully created as driver-20160831165906-0004。轮询提交状态…16/08/31 16:59:06 INFO RestSubmissionClient: submission a request for status of submission driver-20160831165906-0004 in spark://Name25:6066。16/08/31 16:59:06 INFO RestSubmissionClient: driver driver-20160831165906-0004的状态为RUNNING。16/08/31 16:59:06 INFO RestSubmissionClient: Driver is running on worker worker- 2016083114317 -10.0.10.48-38917 at 10.0.10.48:38917。16/08/31 16:59:06 INFO RestSubmissionClient: Server response with CreateSubmissionResponse:{"action": "CreateSubmissionResponse","message": "Driver successfully submitted as Driver -20160831165906-0004",serverSparkVersion: 2.0.0,"submissionId": "driver-20160831165906-0004","success":true}

我认为这是一个成功,但我的应用程序应该有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"?因为根据spark网站我们使用:7077

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

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

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

hadoop dfs -ls <path>/rdd1

最新更新