简述spark的基本流程

简述spark的基本流程,第1张

有以下四个步骤。

1构建SparkApplication的运行环境(启动SparkContext),SparkContext向资源管理器(可以是Standalone、Mesos或YARN)注册并申请运行Executor资源。

2资源管理器分配Executor资源并启动StandaloneExecutorBackend,Executor运行情况将随着心跳发送到资源管理器上。

3SparkContext构建成DAG图,将DAG图分解成Stage,并把Taskset发送给TaskScheduler。Executor向SparkContext申请Task,TaskScheduler将Task发放给Executor运行同时SparkContext将应用程序代码发放给Executor。

4Task在Executor上运行,运行完毕释放所有资源。

ApacheSpark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UCBerkeleyAMPlab(加州大学伯克利分校的AMP实验室)所开源的类HadoopMapReduce的通用并行框架,Spark,拥有HadoopMapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

创建 maven 工程

使用下面命令创建一个普通的 maven 工程:

bash

$ mvn archetype:generate -DgroupId=comclouderasparkwordcount -DartifactId=sparkwordcount -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

将 sparkwordcount 目录重命名为simplesparkapp,然后,在 simplesparkapp 目录下添加 scala 源文件目录:

bash

$ mkdir -p sparkwordcount/src/main/scala/com/cloudera/sparkwordcount

修改 pomxml 添加 scala 和 spark 依赖:

xml

<dependencies>

<dependency>

<groupId>orgscala-lang</groupId>

<artifactId>scala-library</artifactId>

<version>2104</version>

</dependency>

<dependency>

<groupId>orgapachespark</groupId>

<artifactId>spark-core_210</artifactId>

<version>120-cdh530</version>

</dependency>

</dependencies>

添加编译 scala 的插件:

xml

<plugin>

<groupId>orgscala-tools</groupId>

<artifactId>maven-scala-plugin</artifactId>

<executions>

<execution>

<goals>

<goal>compile</goal>

<goal>testCompile</goal>

</goals>

</execution>

</executions>

</plugin>

添加 scala 编译插件需要的仓库:

xml

<pluginRepositories>

<pluginRepository>

<id>scala-toolsorg</id>

<name>Scala-tools Maven2 Repository</name>

<url>>

这里是结合Hadoop20使用的1,download:根据下载的spark的README中的描述下载合适的版本3,安装其实就是解压,配置/etc/profile环境变量exportSPARK_HOME=/data1/spark/sparkexportSCALA_HOME=/data1/spark/scala-293exportPATH=$PATH:$SPARK_HOME/bin:$SCALA_HOME/bin配置spark的conf下的spark-envshexportJAVA_HOME=/usr/java/defaultexportSCALA_HOME=/data1/spark/scala-293exportSPARK_MASTER_IP=19216801exportSPARK_MASTER_WEBUI_PORT=8080exportSPARK_WORKER_WEBUI_PORT=8000exportYARN_CONF_DIR=/data/hadoop/hadoop-20/etc/hadoop配置slaves(ip根据需要修改)1921680219216803分发spark目录和scala目录到几台服务器相同路径下4,启动进入主节点的spark目录的bin下stop-allsh是停掉集群,start-allsh启动集群,jps可以在主节点看到master进程,slave节点看到worker进程5,运行程序,运行例子进入spark目录下分布式运行/run-exampleorgapachesparkexamplesSparkPispark://19216801:7077/run-exampleorgapachesparkexamplesSparkLRspark://19216801:7077本地运行/run-exampleorgapachesparkexamplesSparkPilocal/run-exampleorgapachesparkexamplesSparkLRlocal

以上就是关于简述spark的基本流程全部的内容,包括:简述spark的基本流程、如何在CDH5上运行Spark应用、求助,spark 提交任务到集群报错等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10171751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存