spa*_*eam 3 hadoop hadoop-yarn apache-spark hadoop2
火花在内存中运行当在纱线上运行时,资源分配在Spark中意味着什么?它与hadoop的容器分配形成对比?只是好奇地知道hadoop的数据和计算是在磁盘上,而Spark是在内存中.
Hadoop是一个能够处理大数据的框架.它有两层.一个是名为HDFS的分布式文件系统层,第二个是分布式处理层.在hadoop 2.x中,处理层以通用方式进行架构,因此它也可用于非mapreduce应用程序.对于任何进程,我们需要系统资源,如内存,网络,磁盘和CPU.容器一词来自hadoop 2.x. 在hadoop 1.x中,等效术语是slot.容器是内存和cpu的分配或共享.YARN是一种通用资源管理框架,通过适当的分配和共享,可以有效地利用集群节点中的资源.
内存中进程意味着,数据将完全加载到内存中并进行处理,而无需将中间数据写入磁盘.由于计算在内存中进行而没有太多磁盘I/O操作,因此此操作将更快.但这需要更多内存,因为整个数据将被加载到内存中.
批处理意味着将批量处理和处理数据,中间结果将存储在磁盘中并再次提供给下一个处理.这也需要内存和CPU进行处理,但与完全内存处理系统相比,它将更少.
YARN的资源管理器充当应用程序的中央资源分配器,例如mapreduce,impala(带有llama),spark(在纱线模式下)等.因此,当我们触发作业时,它将向资源管理器请求执行所需的资源.资源管理器将根据可用性分配资源.资源将以容器的形式分配.容器只是内存和CPU的分配.一项工作可能需要多个容器.将根据可用性在整个群集中分配容器.任务将在容器内执行.
例如,当我们提交mapreduce作业时,将启动MR应用程序主机,它将与资源管理器协商以获取其他资源.将在分配的资源中生成映射和减少任务.
类似地,当我们提交spark作业(YARN模式)时,将启动spark应用程序主机,它将与资源管理器协商以获取其他资源.RDD将在分配的资源中生成.
| 归档时间: |
|
| 查看次数: |
1658 次 |
| 最近记录: |