gpt4 book ai didi

Hadoop - 提交具有大量依赖项的作业(jar 文件)

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

我想编写某种“ Bootstrap ”类,它将监视 MQ 的传入消息并将映射/归约作业提交到 Hadoop。这些作业大量使用了一些外部库。目前我已经实现了这些作业,打包为带有 bin、lib 和日志文件夹的 ZIP 文件(我正在使用 maven-assembly-plugin 将它们联系在一起)。

现在我想为 Mapper 和 Reducer 提供小型包装器,它们将使用现有应用程序的一部分。

据我所知,提交作业时,Hadoop 会尝试找出具有映射器/还原器类的 JAR 文件,并通过网络将此 jar 复制到数据节点,数据节点将用于处理数据。但不清楚如何告诉 Hadoop 复制所有依赖项?

我可以使用 maven-shade-plugin 创建一个包含作业和依赖项的 uber-jar,以及另一个用于 Bootstrap 的 jar(该 jar 将使用 hadoop shell 脚本执行)。

请指教。

最佳答案

一种方法是将所需的 jar 放在分布式缓存中。另一种选择是在 Hadoop 节点上安装所有必需的 jar,并告诉 TaskTrackers 它们的位置。我建议你通过这个 post一次。谈论同一个问题。

关于Hadoop - 提交具有大量依赖项的作业(jar 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17532648/

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