【问题标题】:Oozie run shell scripts on random nodesOozie 在随机节点上运行 shell 脚本
【发布时间】:2015-12-08 12:14:30
【问题描述】:

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

我的问题:

  1. Oozie 作业从节点 1 开始(所有需要的文件都位于节点 1 的 HDFS 上)。
  2. Oozie 自定义 FTP 操作已成功从 node2 上的 FTP 下载 CSV 文件(位于 oozie 服务器)
  3. 我应该将文件传递到 HDFS 并在 node1 上从 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 中的下载文件,而不是描述?

【问题讨论】:

    标签: shell hadoop ftp hdfs oozie


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      Ozzie 允许用户通过 oozie sssh shell 扩展在特定节点上运行 shell 脚本。 https://oozie.apache.org/docs/4.2.0/DG_SshActionExtension.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-31
        • 1970-01-01
        • 2023-03-08
        • 1970-01-01
        相关资源
        最近更新 更多