(1)spark on yarn有两种模式
- cluster模式:spark driver运行在nodemanager的Application Master中(申请资源,分发作业,没有master节点和worker节点的概念)
- client模式:driver运行在客户端进程里,作用是任务的分发,资源的申请是由ApplicationMaster负责(yarn负责)
(2)选用yarn的模式
- --deploy-mode client (默认是client)
- --deploy-mode cluster
(3)--jars引入依赖包
- --jars 把依赖包加入到executor和driver的classpath中
- spark.executor.extraClassPath (加载executor端)
- spark.driver.extraClassPath (加载driver端)
如果报错找不到jar包,两个参数都指定一下(executor和driver端)
(4)属性文件
- --properties-file (指定自定义的属性文件)
- --conf (也可以指定属性文件,优先级高于spark-default.conf文件里的配置)
使用场景:按实际的业务划分,例如(day_task.conf 是天任务的配置文件 )
./park-shell --properties-file day_task.conf
(5)spark.port.maxRetries,在默认的端口号基础上最大的尝试次数,port+max,
例如:
spark.port.maxRetries=3 (自定义) spark.ui.port=4040 (默认值)
那么可以同时启动4040, 4041, 4042, 4043四个端口
整个参数可以通过 --conf spark.port.maxRetries=3在启动时候指定参数 或者在sparkdefault.conf中添加
spark.port.maxRetries 3 指定
(6)--conf 也可以指定自定义的参数(自定义参数必须以spark开头,可以从SparkSubmitArgumnts类去找)
例如:./spark-shell --conf spark.a=b
(7)查看spark-shell内容,底层就是调用spark-submit脚本
"${SPARK_HOME}"/bin/spark-submit --class org.apache.spark.repl.Main --name "Spark shell" "$@"
./spark-shell --master yarn 默认的--num-executor=2,使用spark-shell --help 查看说明(从web ui的executors
tab页上也可以看到)
--num-executors NUM Number of executors to launch (Default: 2). If dynamic allocation is enabled, the initial number of executors will be at least NUM.
通过键jps -m查看(测试机只有一个节点,单机版的spark,启动后进程都在同一个机器上)
15152 SparkSubmit --master yarn --class org.apache.spark.repl.Main --name Spark shell spark-shell 16016 CoarseGrainedExecutorBackend --driver-url spark://CoarseGrainedScheduler@hdp1:33787 --executor-id 1 --hostname hdp1 --cores 1 --app-id application_1521530325972_0037 --user-class-path file:/DATA/sdb/mnt/hdfs-tmp-dir/nm-local-dir/usercache/hadoop/appcache/application_1521530325972_0037/container_1521530325972_0037_01_000002/__app__.jar 16417 CoarseGrainedExecutorBackend --driver-url spark://CoarseGrainedScheduler@hdp1:33787 --executor-id 2 --hostname hdp1 --cores 1 --app-id application_1521530325972_0037 --user-class-path file:/DATA/sdb/mnt/hdfs-tmp-dir/nm-local-dir/usercache/hadoop/appcache/application_1521530325972_0037/container_1521530325972_0037_01_000003/__app__.jar
相关推荐
在命令行中输入 `bin/spark-shell` 即可启动Scala Shell,或者使用 `bin/pyspark` 启动Python Shell。 **5. Spark应用程序开发** Spark支持多种编程语言,包括Scala、Java、Python和R。开发者可以根据需求选择合适...
- `bin/`:包含可执行文件,如`spark-submit`,`pyspark`,`spark-shell`等,用于启动和管理Spark作业。 - `conf/`:存放配置文件,如`spark-defaults.conf`,用户可以在此自定义Spark的默认配置。 - `jars/`:包含...
5. **运行Spark**: Spark可以通过命令行工具启动,例如`spark-shell`(交互式Spark会话)或`pyspark`(Python版本的交互式会话)。对于应用程序开发,可以使用Scala、Java、Python或R编写代码,然后通过`spark-...
3. 可选配置,如修改`spark/conf/spark-env.sh`以设置内存分配、JVM参数等。 4. 初始化Hadoop环境,确保Hadoop配置正确,并启动Hadoop服务。 5. 启动Spark相关服务,如`sbin/start-all.sh`启动所有Spark组件。 6. ...
这份文档通常会详细解释如何启动Spark的各个组件(如Master和Worker),如何提交作业,以及如何配置环境变量。务必仔细阅读并遵循这些指导,以确保Spark能正常工作。 在大数据处理的实际应用中,Spark 2.4.7 可以与...
3. **配置Spark**:修改`conf\spark-env.sh`(或者在Windows上是`conf\spark-env.cmd`),根据你的环境配置JVM参数、Hadoop相关路径等。 4. **验证安装**:打开命令行,输入`pyspark`或`spark-shell`启动交互式...
- 测试:通过`bin/spark-shell`启动Spark的交互式Shell,验证安装是否成功。 5. **运行模式**:Spark支持多种运行模式,包括本地模式(方便开发测试)、standalone模式(Spark自带的集群管理器)、YARN模式(使用...
2. **conf**:存放配置文件,如`spark-defaults.conf`,用户可以在这里设置Spark的相关参数。 3. **jars**:包含Spark运行所需的jar包。 4. **lib**:包含依赖的库文件。 5. **python**:Python相关的源代码和库文件...
spark官方版本的driver-class-path不支持hdfs路径,只支持本地路径。本资源解决了这个问题,driver-class-path在cluster模式时可以支持hdfs路径,解决了cluster模式driver有大量jar依赖的问题。
2. `conf`目录:存放配置文件,比如`spark-defaults.conf`用于设置默认的Spark配置参数。 3. `README.md`或文档:解释如何部署和使用Spark Master。 4. 可能还会有其他库文件、日志文件等,这些都是Spark Master运行...
对于开发和部署,了解如何配置`spark-submit`参数也非常重要,比如指定主类、JAR包、内存分配等。 总之,Spark 2.0.0是一个强大的大数据处理框架,与Hadoop 2.x兼容,但不集成Hive,这意味着用户需要单独配置Hive...
1. `bin/`:包含各种命令行工具,如`spark-shell`用于启动Spark的交互式 Scala shell,`pyspark`用于Python环境,以及`spark-submit`用于提交Spark应用到集群。 2. `conf/`:存放配置文件,如`spark-defaults.conf`...
5. 可以通过`spark-shell`或`pyspark`启动交互式环境,或者编写Spark应用程序并使用`spark-submit`提交到集群上运行。 在实际应用中,你可能还需要考虑Spark与CDH中其他组件的集成,例如Hive、Impala,以实现更高效...
接着,你可以使用`spark-submit`命令来提交Spark应用程序,或者通过`pyspark`、`spark-shell`或`spark-sql`命令启动交互式会话。此外,为了与其他服务(如HDFS或YARN)集成,还需要配置相应的连接参数。 Spark的...
3. **灵活配置**:Spark-Bench允许用户调整参数,如并行度、数据大小等,以便更精确地控制测试环境,适应不同规模的Spark集群。 4. **性能报告**:测试完成后,Spark-Bench会生成详细的性能报告,包括执行时间、...
总的来说,Spark-1.6.1-bin-hadoop2.6.zip是一个用于搭建Spark环境的基础,尽管缺少示例JAR,但仍然足以启动和运行Spark应用程序。如果你是初学者,建议从官方文档和在线教程开始学习,逐步了解Spark的各种功能和...
解压`spark-3.2.1-bin-hadoop3.2.zip`后,你可以根据官方文档的指导进行安装和配置,包括设置SPARK_HOME环境变量、配置Spark与Hadoop之间的连接参数等。 在实际使用中,你可以通过以下方式操作Spark: - 使用`spark...
1. **自定义配置**:通过打包编译,用户可以根据自身的硬件环境和需求调整编译参数,如JVM内存设置、编译目标平台等,确保Spark与系统环境的完美适配。 2. **模块化部署**:打包编译允许用户只编译所需的部分模块,...
通过SparkContext,你可以创建RDD,设置配置参数,如存储级别和并行度,以及启动计算。 在Spark 1.6.1版本中,还包含了对DataFrame的支持,DataFrame是Spark SQL的一部分,它提供了一种高效且灵活的方式来处理结构...
- **配置Hadoop**:修改Spark的配置文件,如`spark-defaults.conf`,指定Hadoop的配置路径和其他必要参数。 #### 应用开发 - **使用DataFrame API**:通过DataFrame API处理结构化数据,利用其丰富的API进行复杂的...