当我运行"hadoop job -status xxx“时,输出以下列表。
Rack-local map tasks=124
Data-local map tasks=6机架本地映射任务和数据本地映射任务之间的区别是什么?
发布于 2012-10-07 23:55:07
在数据本地任务中,不需要复制任何内容。这是因为块在物理上和计算一样在同一台服务器上。
下一层是机架本地任务,这里必须拷贝数据,因为没有所需数据块的本地拷贝可用。请注意,本地机架仅在网络的本地机架交换中进行复制。
还有一种最糟糕的情况,数据在本地或同一机架上不可用。因此,必须通过两台交换机将其复制到运行计算的主机。我不知道是否有一个计数器,但基本上这一定是#all tasks - #data-local tasks - #rack-local tasks。
发布于 2012-10-08 05:51:03
我要指出的是,在同一机架内的计算机之间提供千兆位(或更快)的网络比使用更多数量的计算机要便宜得多。
根本原因是以太网交换机不可扩展,我们无法为数百个端口提供这样的交换机,价格合理。
因此,hadoop尝试至少在同一机架中运行任务,如果不能在存储数据的节点上运行任务。
https://stackoverflow.com/questions/12769376
复制相似问题