当我运行“hadoop job-status ”时,输出以下一些列表。
Rack-local map tasks=124 Data-local map tasks=6
机架本地Map任务和数据本地Map任务之间有什么区别?
7gcisfzg1#
在数据本地任务中,不需要复制任何内容。这是因为块在物理上与计算在同一台服务器上。下一层是机架本地任务,这里必须复制数据,因为没有所需块的本地副本可用。请注意,rack local仅在网络的rack local交换机内进行复制。还有一种最坏的情况,即数据既不在本地也不在同一机架上可用。所以这必须通过两个交换机复制到运行计算的主机上。我不知道有没有这个柜台,但基本上这个一定是 #all tasks - #data-local tasks - #rack-local tasks .
#all tasks - #data-local tasks - #rack-local tasks
nom7f22z2#
我想指出的是,在同一机架内的计算机之间提供千兆(或更快)网络比为更多的计算机提供网络要便宜得多。根本原因是以太网交换机不可扩展,而且我们不能以合理的价格为数百个端口提供这样的交换机。因为hadoop尝试至少在同一机架上运行任务,如果不能在存储数据的节点上运行的话。
2条答案
按热度按时间7gcisfzg1#
在数据本地任务中,不需要复制任何内容。这是因为块在物理上与计算在同一台服务器上。
下一层是机架本地任务,这里必须复制数据,因为没有所需块的本地副本可用。请注意,rack local仅在网络的rack local交换机内进行复制。
还有一种最坏的情况,即数据既不在本地也不在同一机架上可用。所以这必须通过两个交换机复制到运行计算的主机上。我不知道有没有这个柜台,但基本上这个一定是
#all tasks - #data-local tasks - #rack-local tasks
.nom7f22z2#
我想指出的是,在同一机架内的计算机之间提供千兆(或更快)网络比为更多的计算机提供网络要便宜得多。
根本原因是以太网交换机不可扩展,而且我们不能以合理的价格为数百个端口提供这样的交换机。
因为hadoop尝试至少在同一机架上运行任务,如果不能在存储数据的节点上运行的话。