Spark在YARN上运行及IntelliJ配置实战

需积分: 0 0 下载量 108 浏览量 更新于2024-08-04 收藏 746KB DOCX 举报
"这篇笔记主要介绍了如何在Hadoop集群上运行Apache Spark任务,以及在IntelliJ IDEA中配置Scala项目以使用Spark。" 在Hadoop集群上运行Spark任务时,通常使用`spark-submit`命令来提交应用程序。在提供的描述中,提到了一个示例命令,该命令指定了Master为YARN,并设置了部署模式为client。命令如下: ```bash ./spark-submit --master yarn --deploy-mode client --class testALSscala.test2.jar /input/ratings.dat 0.8 120.0 6820 ``` 这里,`testALSscala.test2.jar`是你的Spark应用的可执行JAR文件,`/input/ratings.dat`是输入数据文件,而后面的数字可能是应用的参数。为了确保`spark-submit`能找到Hadoop的配置,需要设置`YARN_HOME`和`YARN_CONF_DIR`环境变量。 然而,根据笔记中的信息,直接使用`--master yarn`提交任务可能存在问题,导致任务无法正确提交到集群。为了解决这个问题,可以尝试指定Spark Master地址,例如: ```bash ./spark-submit --master spark://192.168.146.38:7077 --conf "spark.executor.extraJavaOptions=-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xss8172k" --name "MyAPP13" --driver-memory 4g --executor-memory 4G --class testALSscala.test2.jar /input/ratings.dat 0.8 120.0 6520 ``` 在这个命令中,我们指定了Spark Master的IP地址和端口,同时也配置了额外的executor JVM选项以打印GC日志,设置了driver和executor的内存大小。 对于开发环境,笔记指出Spark应该被解压到不含空格的目录,比如`C:\spark-2.1.0-bin-hadoop2.7`。在IntelliJ IDEA中创建Scala项目时,需要选择Spark的`jars`目录作为Scala SDK路径,即`C:\spark-2.1.0-bin-hadoop2.7\jars`。同时,还需要将这个`jars`目录添加到项目的库(libraries)路径中,以便编译和运行Spark应用。 最后,笔记中提到的一个简单的WordCount程序的开头部分,展示了如何导入SparkContext: ```scala import org.apache.spark.SparkContext ``` 这表明开发者正在准备编写一个Spark应用,通过SparkContext来处理数据。 这篇笔记涵盖了在Hadoop YARN上运行Spark应用的步骤、环境变量的配置、在IntelliJ IDEA中设置Scala项目以支持Spark开发,以及一个基本的Spark应用导入示例。