markdown 纱线纱线上的火花与纱线簇

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 纱线纱线上的火花与纱线簇相关的知识,希望对你有一定的参考价值。

参考链接:

- [What is yarn-client mode in Spark?](https://stackoverflow.com/questions/20793694/what-is-yarn-client-mode-in-spark)
- [Spark:Yarn-cluster和Yarn-client区别与联系](https://www.iteblog.com/archives/1223.html)

## yarn cluster

![yarn-cluster-mode](http://image.congyh.com/2018-10-23-070854.jpg)

spark的driver运行为yarn application master的一个线程.

使用`--driver-memory`和--`driver-cores`设置driver的参数, 注意不是Application Master的参数

## yarn client

![yarn-client-mode](http://image.congyh.com/2018-10-23-070924.jpg)

spark的driver运行在提交spark任务的机器上, yarn application master仅负责向yarn resource manager申请资源.

此时`--driver-memory`设置的是client本地的jvm进程的memory, 但是不可设置`--driver-cores`\(fix me\).

通常不用变更driver core, 尤其是pyspark情况下, 单核足够了. 因为python一般就只用单核, 而且本地不需要大量计算, 足够了.

## 原理

spark有自己的yarn client和yarn application master实现, 然后通过指定cluster或者client模式来使用不同的实现.

注意: 当使用cluster模式提交的时候, 日志不是在本地的, 必须要通过`yarn logs --applicationId xxx > xxx.log`的方式将日志收集到log文件中`

## 总结

spark yarn cluster和yarn client模式的区别:

![yarn-cluster vs yarn client](http://image.congyh.com/2018-11-02-075144.jpg)

以上是关于markdown 纱线纱线上的火花与纱线簇的主要内容,如果未能解决你的问题,请参考以下文章

纱线上的火花任务太多[重复]

纱线上的哪个目录触发应用程序将其日志输出到?每个节点中的 spark.eventLog.dir 或 var/log/?

使用远程 jvm 在纱线集群上提交火花作业时出现异常

当资源不足时,火花作业将等待来自纱线的资源多长时间?

在火花代码管理 conf.setMaster() 使用配置文件自动设置本地或纱线集群

我编写了一个火花作业以在本地模式下运行,但是当我提交该作业时,我在纱线集群模式下运行它。在这种情况下究竟会发生啥?