gpt4 book ai didi

hadoop - 基于Azure的Hadoop群集(HDInsight)如何转换为经典的本地Hadoop群集

转载 作者:行者123 更新时间:2023-12-02 19:52:55 26 4
gpt4 key购买 nike

Apache Hadoop旨在运行在一堆商用机器(节点)上。不能将其设计为在基于云的复杂方案中运行。但是,由于云允许通过VM模拟单个节点,因此出现了基于云的Hadoop集群。但这给我带来了理解上的困难。当我研究有关Hadoop集群的任何标准解释时,它始终都是本地架构,因为考虑到所有Hadoop架构都是根据逻辑和简单的本地视角来解释的。但是,这很难理解基于云的群集的工作原理,尤其是诸如HDFS,数据位置等概念。在解释的本地版本中,每个节点都有自己的“本地”存储(这也意味着存储硬件已固定用于一个特定的节点,它不会被拖曳),并且也不假定该节点曾经被删除。另外,我们将该存储视为节点本身的一部分,因此我们从未考虑过杀死节点并保留存储以供以后使用。
现在,在基于云的Hadoop(HDInsight)模型中,我们可以将任何Azure存储帐户附加为群集的主存储。因此,如果我们有一个包含4个工作节点和2个根节点的群集,那么单个Azure存储帐户充当6个虚拟机的HDFS空间吗?同样,实际的业务数据甚至都没有存储在该数据上,而是存储在附加的附加存储帐户中。因此,我无法理解如何将其转换为本地Hadoop集群? Hadoop集群的核心设计围绕数据局部性的概念展开,即数据驻留在最接近处理的位置。我知道,当我们创建HDInsight群集时,我们在与要附加的存储帐户相同的区域中创建它。但这更像是多个处理单元(VM)共享公用存储,而不是具有自己本地存储的单个节点。可能的是,只要它可以足够快地访问数据中心中的数据(就像它驻留在本地一样),就没有关系。但不确定是否是这种情况。基于云的模型向我展示了以下图片:
enter image description here
有人可以确切解释一下Apache Hadoop设计如何转换为基于Azure的模型吗?造成混淆的原因是存储帐户是固定的,并且我们可以在想要指向相同的存储帐户时随时杀死/旋转集群。

最佳答案

HDInsight执行任务时,它会将数据从存储节点流传输到计算节点。但是,Hadoop正在执行的许多映射,排序,改组和 reduce task 都是在驻留在计算节点本身的本地磁盘上完成的。
映射,缩小和排序任务通常将在计算节点上以最小的网络负载执行,而混洗任务将使用某些网络将数据从映射器节点移动到较少的还原节点。
将数据存储回存储设备的最后一步通常是更小的数据集(例如查询数据集或报表)。最后,在初始和最终流传输阶段,网络的利用率更高,而其他大多数任务则是在节点内执行的(即最小的网络利用率)。
要更详细地了解,您可以 checkout “Why use Blob Storage with HDInsight on Azure”和“HDInsight Architecture”。

关于hadoop - 基于Azure的Hadoop群集(HDInsight)如何转换为经典的本地Hadoop群集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64133270/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com