Spark运行模式全解析:local、standalone与Yarn命令示例

需积分: 25 19 下载量 17 浏览量 更新于2024-09-09 收藏 2KB TXT 举报
该资源提供的是Spark 2017年的最新运行命令样例,涵盖了Spark在三种运行模式(local、standalone和Yarn)下的提交指令。作者提供了其个人GitHub链接,意在分享更多相关资源。 正文: Spark是大数据处理领域的一个流行框架,它以其高效的内存计算和分布式特性而闻名。本资源主要介绍了如何在不同的运行模式下启动Spark应用,这对于开发者和运维人员来说非常关键。下面将详细讲解这些模式及其对应的运行命令。 1. Local模式: - 在本地单线程运行Spark应用,可以使用以下命令: ```bash ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master local[1] ./examples/jars/spark-examples_2.11-2.2.0.jar 100 ``` - 参数`--master local[1]`表示在本地单个线程中运行,`--class`指定主类,`spark-examples_2.11-2.2.0.jar`是示例应用程序的JAR文件,`100`是应用参数。 2. Standalone模式: - Standalone模式是Spark自带的一种集群管理模式,需要配置`slaves`文件和`spark-env.sh`环境变量。 - Client模式: ```bash ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://spark001:7077 --executor-memory 1G --total-executor-cores 1 ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100 ``` - 参数`--master spark://spark001:7077`指定了Spark Master的地址,`--executor-memory`和`--total-executor-cores`分别设置执行器的内存和核心数。 - Cluster模式: ```bash ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://spark001:7077 --deploy-mode cluster --supervise --executor-memory 1G --total-executor-cores 1 ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100 ``` - 参数`--deploy-mode cluster`表明应用将以cluster模式部署,`--supervise`使应用在失败时自动重启。 3. Yarn模式: - YARN(Yet Another Resource Negotiator)是Hadoop的资源管理器,可以托管Spark应用。 - 配置`spark-env.sh`以指向Hadoop和YARN的配置目录,并设置Spark的安装路径。 - Client模式和Cluster模式的提交命令与Standalone模式类似,只是`--master`参数应改为`yarn`或`yarn-client`和`yarn-cluster`,具体取决于你希望在哪一侧执行驱动程序。 在实际操作中,确保正确配置环境变量,如`JAVA_HOME`、`SPARK_HOME`和`HADOOP_CONF_DIR`等,以便Spark能够与Hadoop和其他系统组件交互。同时,根据集群的硬件资源和应用需求调整内存、核心数等相关配置。理解并熟练运用这些命令,将有助于更有效地运行和管理Spark应用。