搭建spark on yarn的集群框架时,我们只需要启动yarn集群和hdfs集群(hdfs作为数据存取介质),然后只需在某一个机器上安装spark客户端,进行spark任务的提交即可在yarn集群上以spark引擎计算任务;之前一直有个疑问就是yarn集群上的机器根本没安装spark为何能使用spark引擎呢?后来一点点的搜找资料,整理出了一点头绪。
所谓的spark引擎其实无外乎就是一堆的代码定义的一个计算框架(其内根据yarn的对接接口特性开发了一套分布式统筹调度的算法),我们在用Scala或者java开发时引入的spark先关的依赖jar包就是所谓的引擎实现,而我们在提交某个自己用scala编写的程序给yarn集群调度运算时,需要先打jar包,这个jar包中已经有了它运行所依赖的spark引擎jar包,而无论是scala还是java打的jar包其运行环境都是jre,所以只要yarn中有JAVA_HOME的先关配置即可运行spark任务;