如何在hadoop实例类型之间找到正确的部分
我试图找出有多少主任务、核心任务实例最适合我的工作。我找不到任何教程来解释我是如何理解它的如何在hadoop实例类型之间找到正确的部分,hadoop,elastic-map-reduce,instancetype,Hadoop,Elastic Map Reduce,Instancetype,我试图找出有多少主任务、核心任务实例最适合我的工作。我找不到任何教程来解释我是如何理解它的 如何知道是否需要多个核心实例?在EMR的控制台中,我会在指标中看到哪些“症状”提示我需要多个核心?到目前为止,当我在1*core+7*task实例上尝试相同的工作时,它的运行与在8*core上的运行非常相似,但对我来说没有多大意义。或者有没有可能我的工作是如此多的CPU限制,IO是如此之小?(我有一个map-only作业,可以将apache日志文件解析为csv文件) 是否存在这样一种情况,即拥有多个主实
- 如何知道是否需要多个核心实例?在EMR的控制台中,我会在指标中看到哪些“症状”提示我需要多个核心?到目前为止,当我在1*core+7*task实例上尝试相同的工作时,它的运行与在8*core上的运行非常相似,但对我来说没有多大意义。或者有没有可能我的工作是如此多的CPU限制,IO是如此之小?(我有一个map-only作业,可以将apache日志文件解析为csv文件)
- 是否存在这样一种情况,即拥有多个主实例?如果是,何时需要?我想知道,因为我的主节点几乎95%的时间都在等待其他节点完成任务(0%的CPU)
- 主节点和核心节点可以相同吗?我可以拥有一个仅主节点的集群,当1和唯一节点完成所有操作时。看起来,拥有一个包含1个节点的集群是合乎逻辑的,1个节点是主节点和核心节点,其余的节点是任务节点,但似乎不可能使用EMR以这种方式进行设置。为什么呢
所有这些我都知道。但是,我如何知道一个核心是否足够,其余的(8个、64个或200个)是否都可以是任务,或者需要有一个比例(显然取决于我的工作),如果我通过(添加太多任务实例),会因为没有“足够”的核心实例和核心实例的IO而减慢作业速度(如果我理解这一点,所有任务实例都会使用)将成为瓶颈哦,我明白了。这是一个有趣的问题,但我恐怕我从未尝试过。我认为我从未见过通过添加更多任务节点来降低我的工作效率,但这可能只是我的工作。你可以通过在EMR控制台上监视你的工作并调整核心/任务的大小来解决这个问题组处理长期运行的作业。是的,但我的问题是:EMR控制台上的哪些度量与此相关?目前我所做的唯一一件事是使用不同的配置运行同一个作业,并度量所花费的时间,但这并不太准确。您有机会找到此问题的答案吗?关于这一点很重要。一个关键点是,进出任务节点的数据必须经过主节点。我猜任务节点的数量可以因此增加,直到它们停止满负荷运行:我认为这表明数据通过主节点的速度不够快(如果您可以监控主机上的数据传输速度,这将对应于饱和率)。