gpt4 book ai didi

performance - 协助减少 distcp 操作的执行时间

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

我们有许多 distcp 作业将数据从我们的主集群复制到我们的备份集群。这些作业全天运行并复制关键数据库的几乎所有表。我们在这里使用 webhdfs。

其中一些作业运行数小时(对于巨大的表(ORC 格式的))。有什么方法可以优化两个集群之间的 distcp 操作。欢迎提出任何建议。

我们尝试使用带宽来加速。以下是我们脚本的摘录。

PROP="-Dmapreduce.task.timeout=300000 -Dmapred.job.queue.name=$YARN_QUEUE -Dmapred.job.name="cpy-${jobName}"-bandwidth 800 "

hadoop distcp ${PROP} $1 WEBHDFS://$DESTNAMENODE$2 >> $3 2>&1

最佳答案

调优 distcp 性能时我通常会注意的三件事;

  • 用于 distcp 操作的映射器数量

“-m”选项将允许您指定使用的映射任务数,可以说是同时复制的最大数量。尝试多次运行副本并逐渐增加此数字以查看最适合您的方案的方法。

  • 战略动态

您可以使用“-strategy dynamic”标志运行 DistCp 作业,该标志将“动态”调整 map 大小,使速度更快或响应速度更快的节点能够比速度较慢或繁忙的节点复制更多数据。您可以在 DistCp 手册中阅读更多相关信息。

  • 带宽

看起来您已经尝试过“-bandwidth”选项,但我想在这里提及它,因为它绝对是一个重要因素。如果您的网络允许,请尝试进一步增加它。

关于performance - 协助减少 distcp 操作的执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54104572/

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