Spark源码分析1-部署与整体架构

Spark官网http://spark.apache.org/docs/latest/

Apache Spark is a fast and general-purpose cluster computing system. It provides high-level APIs in ScalaJava, and Python that make parallel jobs easy to write, and an optimized engine that supports general computation graphs. It also supports a rich set of higher-level tools includingShark (Hive on Spark), MLlib for machine learning, GraphX for graph processing, and Spark Streaming.

 

Spark 部署

1.下载:http://spark.apache.org/downloads.html.

2. 编译:sbt/sbt assembly

3.启动master:./sbin/start-master.sh

 启动work:./bin/spark-class org.apache.spark.deploy.worker.Worker spark://IP:PORT

4.spark的部署方式

1)local 模式,将master设置成“local”,这样spark将以本地模式运行,不用启动work和master,适合于调试

2)deriver模式:

./bin/spark-class org.apache.spark.deploy.Client --supervise  --verbose launch  spark://hzs-sparc01:7077 file:///home/share/lib/OperationIntelligence-0.0.1-SNAPSHOT.jar com.seven.oi.spark.RemoteSparkApplication

master将在work上启动一个deriver用来管理excutor的运行

deriver模式的优点是master可以管理deriver,当deriver挂掉后,可以重新启动deriver。

3)app模式:将app打成jar包,调用jar命令运行这个jar包

java -cp OperationIntelligence-0.0.1-SNAPSHOT.jar com.seven.oi.spark.RemoteSparkApplication

类似于deriver模式,但master不会管理这个deriver,java命令启动的进程将作为一个deriver

4)Mesos 模式:未看

5)YARN 模式:未看

 

Spark组成

spark由deriver,worker,excutor,master组成。deriver用于register application,schedual job,collector block manager info, worker用于start excutor 和deriver,excutor 用于run task,master用于维护application和worker的状态并且restart deriver 和application。

 

下面是deriver启动到runJob的过程

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值