gpt4 book ai didi

java - Hadoop 的 RunJar 方法如何跨节点分发类/jar 文件?

转载 作者:可可西里 更新时间:2023-11-01 14:14:01 27 4
gpt4 key购买 nike

我正在尝试在 clojure 中使用 JIT 编译来动态生成映射器和缩减器类。但是,这些类未被 JobClient 识别(这是通常的 ClassNotFoundException。)

如果我 AOT 编译 Mapper、Reducer 和工具,并使用 RunJar 运行作业,一切似乎都很好。翻遍source后,它似乎正在解压缩 jar 并创建一个自定义 URLClassLoader 用于加载“主要”实现。我没有看到 jar 是如何跨节点分布的,甚至是如何在单节点集群中使用的。

如有任何帮助,我们将不胜感激!

最佳答案

首先,当我们提交作业的 jar 时,它会被 jobtracker 复制到属性中配置的暂存目录中。当 tasktracker 被分配作业(由 c 的调度程序)时,它从暂存目录复制并执行。

如果您想提供一个外部 Jar 来执行,您可以使用 Hadoop 的分布式缓存工具来实现。

关于java - Hadoop 的 RunJar 方法如何跨节点分发类/jar 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3444569/

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