我在googlecloud上创建了一个集群,他们让我选择要使用多少台机器,以及每台机器上应该有多少内核。如果我想运行mapreduce作业,那么要求8台机器各有一个核和要求2台机器各有4个核有实际区别吗?
tvmytwxo1#
你在题目和正文中的问题是不同的。在4x1core和1x4core之间进行选择时,后者具有数据局部性的优势——Map器和还原器之间没有数据传输,所有数据都在同一台机器上。另一个需要考虑的重要因素是ram的数量。如果你必须在1台16gb内存的机器和8台2GB内存的机器之间进行选择,你最好选择第一个选项,因为有些算法需要在内存中加载大量内容,而内存小的话,你将无法运行它们。最后要记住的一点:对于集群中的所有机器都要有相同的配置,这一点很重要,否则有些机器会提前完成,等待速度慢的机器。如果集群将增长,现在就选择最合适的配置。长话短说:在大多数情况下,更高层的机器会表现更好。如果可以的话就选。
1条答案
按热度按时间tvmytwxo1#
你在题目和正文中的问题是不同的。
在4x1core和1x4core之间进行选择时,后者具有数据局部性的优势——Map器和还原器之间没有数据传输,所有数据都在同一台机器上。
另一个需要考虑的重要因素是ram的数量。如果你必须在1台16gb内存的机器和8台2GB内存的机器之间进行选择,你最好选择第一个选项,因为有些算法需要在内存中加载大量内容,而内存小的话,你将无法运行它们。
最后要记住的一点:对于集群中的所有机器都要有相同的配置,这一点很重要,否则有些机器会提前完成,等待速度慢的机器。如果集群将增长,现在就选择最合适的配置。
长话短说:在大多数情况下,更高层的机器会表现更好。如果可以的话就选。