在这个部分,我们将展示如何在集群模式下运行 SparkPi 示例程序。通过这个示例,您可以快速验证 Spark 的集群部署是否成功。
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster /opt/spark-2.3.2-bin-hadoop2.6/examples/jars/spark-examples_2.11-2.3.2.jar
解释:
该命令使用spark-submit
工具提交一个Spark作业,指定了以下参数:
--class
: 设置作业的主类为org.apache.spark.examples.SparkPi
。
--master yarn
: 指定作业的运行环境为YARN。
--deploy-mode cluster
: 在YARN上以集群模式运行作业。
此命令将启动 SparkPi 示例作业,并通过 YARN 资源管理器在集群模式下运行。
您可以通过 Spark 的 Web UI 监控作业的执行状态。当作业启动时,你会看到类似于下图的运行状态:
作业完成后,Web UI 将显示作业的最终状态和相关的统计信息,如下所示:
此时,您可以检查输出以验证 SparkPi 作业的执行结果。
Q: 当我运行SparkPi时,为什么会出现“Class Not Found”错误? A: 这可能是因为你没有正确地指定Spark示例的JAR文件或你的Spark安装是不完整的。
Q: 当我运行SparkPi时,为什么会收到OutOfMemoryError? A: 这可能是因为Spark集群的内存配置不足。你可以通过调整executor内存来增加分配给Spark作业的内存。
Q: 我在哪里可以查看SparkPi作业的日志?
A: 你可以在Spark的Web UI中查看详细的日志,或在你的Spark安装目录的logs
文件夹中查找。
Q: 我的SparkPi作业失败了,我应该怎么办? A: 首先,查看错误消息,这将为你提供关于失败原因的线索。然后,确保Spark集群配置正确,并且所有节点都能正常通信。