gpt4 book ai didi

java - 在 Amazon EMR 中运行自定义 Jar 时,我的 jar 从哪里运行?

转载 作者:行者123 更新时间:2023-12-01 12:07:05 25 4
gpt4 key购买 nike

全部,

我正在打包我的自定义 jar 及其所有依赖项,其中一个与 EMR 实例上的另一个 jar 冲突,因此我想添加一个步骤来将我的类路径设置为包含自定义 jar 的目录,但要做到这一点,我需要知道该 jar 将驻留在各个节点上的位置,以及是否有任何环境变量可以用来进行这些更改,是否有人知道解决根本问题的更好方法,而不是针对相同版本的 jar 进行构建关于 EMR,因为这是不可能的,这也是受欢迎的意见。

谢谢,

最佳答案

您可以查看“ Controller ”日志文件以查看 jar 文件复制到的位置 - 以及 hadoop Streaming jar 命令运行的位置。

自定义 jar 被复制到/mnt/var/hadoop 下的某个文件夹(特定于该步骤)。该 jar 文件与另一个 jar 冲突的唯一方法是 - 如果它位于 hadoop/lib 下 - 并且是“hadoop jar”的类路径的一部分。

一种解决方案是使用脚本运行程序步骤来运行 jar 文件而不是“自定义 jar”。在这里您可以覆盖类路径 - 设置任何相关的环境变量。

http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-hadoop-script.html

此脚本甚至可以使用“hadoop jar”命令运行您的客户 jar - 本质上几乎相当于直接运行自定义 jar。

关于java - 在 Amazon EMR 中运行自定义 Jar 时,我的 jar 从哪里运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27515732/

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