gpt4 book ai didi

shell - Oozie 在随机节点上运行 shell 脚本

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

我编写了类似自定义 oozie FTP 操作的 smth(“专业 Hadoop 解决方案中描述的简单示例:Boris Lublinsky;Kevin T. Smith;Alexey Yakubovich”)。我们在 node1 上有 HDFS,在 node2 上有 Oozie 服务器。 Node2 也有 HDFS 客户端。

我的问题:

  1. Oozie 作业从节点 1 开始(所有需要的文件都位于节点 1 上的 HDFS 上)。
  2. Oozie 自定义 FTP 操作已成功从节点 2(位于 oozie 服务器)上的 FTP 下载 CSV 文件
  3. 我应该将文件传递到 HDFS 并在节点 1 上从 CSV 创建外部表。我尝试使用 Java 操作并调用 fileSystem.moveFromLocalFile(...) 方法。我还尝试使用像 /usr/bin/hadoop fs -moveFromLocal/tmp\import_folder/filename.csv/user/user_for_import/imported/filename.csv 这样的 Shell 操作,但我没有效果。所有操作似乎都试图查看 node1 上的文件。如果我从 node2 启动 oozie 作业,结果相同。

问题:我可以为 FTP 操作设置节点以从节点 1 上的 FTP 加载文件吗?或者我可以用任何其他方式在 HDFS 中传递下载的文件而不是描述吗?

最佳答案

Oozie 在已配置的 Map Reduce 集群的节点上将其所有操作作为 MR 作业运行。没有办法让 Oozie 在特定节点上运行某些操作。

基本上,您应该使用 Flume 将文件提取到 HDFS 中。在您的 FTP 节点上设置 Flume 代理。

关于shell - Oozie 在随机节点上运行 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34155622/

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