gpt4 book ai didi

hadoop - pig : optimal number of maps with a 4 node cluster?

转载 作者:可可西里 更新时间:2023-11-01 15:29:31 25 4
gpt4 key购买 nike

我正在使用只有 4 个节点的 hadoop Cloudera 系统,但磁盘空间很大 (200TB)。

在我的 pig 脚本中,我每月加载几个文件,每个文件的大小约为 200Gb

我注意到,如果我在我的 pig 脚本中加载大约一年的数据,Pig 会创建大约 15k 个 mappers,整个过程大约需要 3 个小时(包括 reduce步骤)。

相反,如果我加载三年的数据(大约 5TB),那么 Pig 会创建大约 30k 个 mappers,基本上所有节点在处理超过 15 次后都会变得不健康小时。

我是不是遇到了瓶颈?或者我应该使用一些默认选项?我的 pig 脚本非常基本:我分组,我数数。

非常感谢!

最佳答案

我可能会迟到回答(迟到总比不到好),但让我分享一下我的想法,

1)Mapper 和 Reducer 计数设置确保为 tasktraker 节点分配正确数量的映射器和缩减器插槽。MapTask - mapred.tasktracker.map.tasks.maximumReduceTask - mapred.tasktracker.reduce.tasks.maximum例子:假设您有 4 个节点集群,每个节点有 36 GB RAM,然后假设每个 map/reduce 任务需要 4GB RAM。将 4GB 用于一般用途,我们可以假设剩余的 32GB 将用于由任务(映射/减少)使用。一个任务需要 4GB,我们最终会得到 8 个任务(4Map,4Reduce)

2)充分利用可用内存每个 JVM 的 RAM 分配 - mapred.child.java.opts -Xmx3500M例子:考虑到我们已经根据上面的示例设置了每个任务跟踪器上的任务数,那么我们可以将每个任务的最大 RAM 大小设置为 3500M。

基于这两个选项,您可以从集群中获得最佳性能。如果您要处理更多溢出,您可能还需要查看 io.sort.factor 和 io.sort.mb。

除了上述选项外,如果多个用户使用同一个集群,最好使用公平调度程序/公平池来确保单个用户不会导致整个集群崩溃。

关于hadoop - pig : optimal number of maps with a 4 node cluster?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37138126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com