Spark on YARN

本文详细探讨了Spark on YARN的工作原理及配置要点,对比了MapReduce1.x与Hadoop2.x的不同之处,并深入分析了Spark on YARN下的Cluster与Client模式区别,同时介绍了资源配置、日志记录等关键环节。
Spark on YARN

MapReduce1.x

    JobTracker    资源的管理和作业的调度    TaskTracker

单点    缺点:单点故障,作业没法提交
JobTracker是瓶颈
仅支持MapReduce
资源利用率    空闲时没有利用好资源

Hadoop2.x  YARN

ApplicationMaster 职责 : 管理Task作业

        RM 要配HA,但可能存在问题:有时候一个挂掉,另外一个起不来。所以要对RM改造成真正的HA。


2)Spark on YARN

    2.1 Spark on YARN的区别就是:Driver端运行在哪里

cluster:driver run in am am in nm (AM不仅要申请资源,还要分发作业)

client:driver run in client(本地应用程序,AM仅仅需要申请资源。因为作业分发,是由driver端完成的)

    2.2 Spark on YARN有没有worker?

        没有,worker只有standalone的模式才有。

    2.3 对于Spark on YARN来说,excutor运行在nm里面的container里面


3)配置参数

    3.1 Spark on YARN启动时,会有以下提示,并把本地的jar包提交到yarn,因为耗性能所以要调整   

 

        spark-env.sh

            spark.yarn.jars hdfs:xxx:xxxx/.../*.jar    把spark用到的jar都放到该hdfs目录

    3.2 其他jar包

        spark.executor.extraClassPath  /xxx/.jar

        spark.driver.extraClassPath       /xxx/.jar

    3.3 最大端口数量

        spark.port.maxRetires    16    生产必须调大,spark访问最大值

    3.4 --properties-file FILE参数:不同业务线取不同配置,文件形式读取   /***/a.conf

    3.5 --conf 默认配置,优先级最高



--master
--deploy-mode
简写:yarn client  ==> yarn / yarn-client
简写:yarn cluster ==> yarn-cluster





设置完config并成功启动后,必须到UI页面确保配置是否生效成功

SparkSubmitArguments    *****源码  在这里找配置才是最全的


Spark代码之美
executorMemory = Option(executorMemory)
.orElse(sparkProperties.get("spark.executor.memory"))
.orElse(env.get("SPARK_EXECUTOR_MEMORY"))
.orNull

def getDefaultPropertiesFile(env: Map[String, String] = sys.env): String = {
    // 系统环境变量中设置: export SPARK_CONF_DIR=$SPARK_HOME/conf
env.get("SPARK_CONF_DIR")
      // /home/hadoop/app/spark-2.2.0-bin-2.6.0-cdh5.7.0/conf/spark-default.conf
 .orElse(env.get("SPARK_HOME").map { t => s"$t${File.separator}conf" })
      .map { t => new File(s"$t${File.separator}spark-defaults.conf")}
      .filter(_.isFile)
      .map(_.getAbsolutePath)
      .orNull
}


client
CoarseGrainedExecutorBackend * 2
SparkSubmit
ExecutorLauncher

转载:http://www.cnblogs.com/MOBIN/p/5857314.html
请使用spark-submit提交我们的wc分别在client和cluster模式下测试
注意两者在运行过程中进程的差别

-----------------------------------------------------------

// TODO...
Spark on YARN


HistoryServer


job = n stage = n task


开启historyserver
1) 开关 
2) 日志记到什么地方去
A
B
3) 展示

--spark.eventLog.enabled=true 把UI的日志存在机器上
SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://hadoop000:8020/spark_log"

spark.history.cleaner.enabled    false

spark.history.fs.cleaner.interval    1d

spark.history.fs.cleaner.maxAge    7d

这3个参数一定要打开    不然hdfs会有压力


UI监控:    

    /api/v1/applications    返回spark json

    /api/v1/applications/id/jobs    返回spark作业的json


Class.forName(.....)




SQL :  thriftserver/beeline

bin/beeline -u jdbc:hive2://localhost:10000 -n hadoop    !q退出





 
乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
Spark on YARN是一种常用的Spark运行模式,它可以在Hadoop YARN集群上运行。Spark on YARN支持两种提交任务的方式,即YARN client模式和YARN cluster模式。在YARN client模式下,Spark驱动程序运行在客户端上,而在YARN cluster模式下,Spark驱动程序运行在YARN集群上。 在使用Spark on YARN时,可以使用以下命令提交作业: ``` ./spark-submit --master yarn --deploy-mode cluster --class org.apache.spark.examples.SparkPi ../lib/spark-examples-xx.jar 100 ``` 这个命令将以YARN cluster模式提交一个Spark作业,其中`--master yarn`表示使用YARN作为Spark的主节点,`--deploy-mode cluster`表示以集群模式运行作业,`--class org.apache.spark.examples.SparkPi`指定了作业的入口类,`../lib/spark-examples-xx.jar`是作业的jar包路径,`100`是作业的参数。 另外,还可以使用以下命令以YARN client模式提交作业: ``` ./spark-submit --master yarn-client --class org.apache.spark.examples.SparkPi ../lib/spark-examples-xx.jar 100 ``` 这个命令将以YARN client模式提交一个Spark作业,其中`--master yarn-client`表示使用YARN作为Spark的主节点,并将驱动程序运行在客户端上。 通过以上命令,可以在Spark on YARN上成功提交和运行Spark作业。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [Spark on Yarn详解](https://blog.youkuaiyun.com/WuBoooo/article/details/109479311)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值