执行语句:
sudo spark-submit --master yarn--driver-memory 7G --executor-memory 5G --executor-cores 24 --num-executors 4--class spark.init.InitSpark /home/hxf/gogo.jar>/home/hxf/dddd.txt2>&1;
执行过程:
执行过程简介:
1 通过SecurityManager进行用户权限验证。
2 远程启动一个Actor(实际上就是启动提交程序所在机器上的一个actor),地址是:akka.tcp://sparkDriver@master01.cloudera.pmsc.gov.cn:32900;开启"SparkDriver"服务,端口是32900。
3 通过SparkEnv注册MapOutputTracker\BlockManagerMaster。
4 DiskBlockManager 会在本地创建一个文件夹 /tmp/spark-local-yyyyMMddHHmmss.....,MemoryStore开启一个内存空间(我的是2.1GB)。
5 HTTPFileServer 会在本地创建一个文件夹/tmp/xxx。启动HttpServer,开启“HTTP file server”服务,服务端口是43095.开启“SparkUI”服务,服务端口是4040.
6 SparkContext 加载自己的jar(我的所有的东东都在gogo.jar)
7 通过RMProxy连接到ResourceManager(master01.cloudera.pmsc.gov.cn/10.10.244.131:8032)
8 客户端向集群请求获得一个application,该集群有4个NodeManager
9 客户端验证该条请求请求的内存是否超过了集群的上限(8192MB 每个container)
10 分配一个AM container,该container可用内存:4096MB+384MB
11 为AM准备资源(spark-assembly-1.2.0-cdh5.3.0-hadoop2.5.0-cdh5.3.0.jar)
12 客户端向ResourceManager提交任务
13 AM注册为一个 actor(akka.tcp://sparkYarnAM@datanode01.cloudera.pmsc.gov.cn:52155/user/YarnAM#-1153425007)
14 application 启动
15 BlockManagerMaster注册BlockManager
16 注册Executor
17 创建共享变量
18 切分stage,DAGScheduler提交提交Stage,DAGScheduler提交task
19 开启任务
20 执行任务
21 执行任务完毕
原文地址:http://blog.csdn.net/hi_1234567/article/details/43404415