我有一个小型集群,其中一个节点有raid存储,几个强大的无盘计算节点通过pxe引导。所有节点都通过infiniband连接(1g以太网用于引导)。我需要在这个集群上部署hadoop。请建议最佳配置,因为我理解默认配置意味着所有计算节点都有自小型存储,但在我的情况下(如果我有nfs共享),它将通过网络生成太多副本。我已经找到了使用hadoop和lustre的资源,但是我不知道如何配置它
ebdffaop1#
你所描述的可能是可能的,但是你不是在利用hadoop特性,而是在试图找到一种绕过它们的方法。移动计算比移动数据便宜—数据局部性是hadoop的基石之一,这就是集群中所有工作节点也是存储节点的原因。hadoop试图在处理块所在的节点上尽可能多地进行计算,以避免网络拥塞。https://developer.yahoo.com/hadoop/tutorial/module1.html然后,hadoop框架使用分布式文件系统中的知识,在数据/记录的位置附近调度这些进程。由于文件以块的形式分布在分布式文件系统中,因此在节点上运行的每个计算进程都对数据的一个子集进行操作。节点操作的哪些数据是根据其对节点的位置来选择的:大多数数据是从本地磁盘直接读取到cpu中的,这减轻了网络带宽的压力,并防止了不必要的网络传输。这种将计算移到数据而不是将数据移到计算的策略允许hadoop实现高数据局部性,从而获得高性能。mapreduce往往会生成大量的临时文件,因此每个节点15 gb的存储空间根本不够。
1条答案
按热度按时间ebdffaop1#
你所描述的可能是可能的,但是你不是在利用hadoop特性,而是在试图找到一种绕过它们的方法。
移动计算比移动数据便宜—数据局部性是hadoop的基石之一,这就是集群中所有工作节点也是存储节点的原因。hadoop试图在处理块所在的节点上尽可能多地进行计算,以避免网络拥塞。
https://developer.yahoo.com/hadoop/tutorial/module1.html
然后,hadoop框架使用分布式文件系统中的知识,在数据/记录的位置附近调度这些进程。由于文件以块的形式分布在分布式文件系统中,因此在节点上运行的每个计算进程都对数据的一个子集进行操作。节点操作的哪些数据是根据其对节点的位置来选择的:大多数数据是从本地磁盘直接读取到cpu中的,这减轻了网络带宽的压力,并防止了不必要的网络传输。这种将计算移到数据而不是将数据移到计算的策略允许hadoop实现高数据局部性,从而获得高性能。
mapreduce往往会生成大量的临时文件,因此每个节点15 gb的存储空间根本不够。