1.关于mapreduce on yarn 来提交job的流程
yarn=resourcemanager(RM)+nodemanager(NM)
client向RM提交任务
RM向NM分配applicationMaster(AM),并找到有一个容器,生成一个MR app mstr
MR app mstr向RM申请资源
在NM容器中找到MR app mstr,启动开来
MR app mstr监控和调度TASK的运行
MR app mstr向RM提交信息
2.配置
将Hadoop的配置文件添加到Spark的classpath中,即配置spark-env.sh中的HADOOP_CONF_DIR配置信息
在前面local或者standalone已经配置过。
3.启动HDFS,YARN
4.启动Spark命令(后来经过验证,发现不需要也可以计算出结果)
在标题上说明不需要启动spark服务,这这里说一下原因:
因为程序在yarn框架上运行,所以需要的服务是yarn,至于spark服务,程序跑在yarn上用不到。
所以这里的截图被删除。
经过验证,想法完全正确。
5.测试client
bin/spark-submit
--master yarn
--deploy-mode client
--class com.ibeifeng.bigdata.spark.core.TOPNSparkCore
--conf "spark.ui.port=5050"
/etc/opt/datas/logs-analyzer.jar
6.测试cluster
bin/spark-submit
--master yarn
--deploy-mode cluster
--class com.ibeifeng.bigdata.spark.core.TOPNSparkCore
--conf "spark.ui.port=5050"
/etc/opt/datas/logs-analyzer.jar
这时候,程序结果不会显示在控制台上,因为driver运行在集群上。
7.结果