【问题标题】:NiFi moveHDFS processor appears to do nothingNiFi moveHDFS处理器似乎什么都不做
【发布时间】:2025-11-22 14:30:02
【问题描述】:

只需尝试自动将文件从一个 HDFS 目录移动到另一个目录。在 Apache NiFi 中使用 moveHDFS 处理器执行此操作,但启动处理器时似乎没有任何反应。

处理器指标在很长一段时间后保持为零 并且查看公告板显示没有错误(日志记录级别设置为 INFO),公告板中唯一的日志记录输出是:

14:50:04 HSTINFO1e637d0d-0163-1000-7bde-a7993ae403e8
MoveHDFS[id=1e637d0d-0163-1000-7bde-a7993ae403e8] Initialized a new HDFS File System with working dir: file:/home/mapr/nifi-1.6.0 default block size: 33554432 default replication: 1 config: Configuration: core-default.xml, core-site.xml, mapred-default.xml, mapred-site.xml, yarn-default.xml, yarn-site.xml, hdfs-default.xml, hdfs-site.xml, /opt/mapr/hadoop/hadoop-2.7.0/etc/hadoop/core-site.xml, /opt/mapr/hadoop/hadoop-2.7.0/etc/hadoop/hdfs-site.xml

(顺便说一句,为什么它说“初始化一个新的HDFS文件系统”?它不应该使用提供的hadoop配置文件来访问hadoop集群上现有的HDFS吗?)。将 NiFi 作为单个实例安装在 hadoop 集群节点上,并根据需要将 core- 和 hdfs-site.xml 文件添加到处理器属性中。以前从未使用过 NiFi,并且怀疑我在这里遗漏了一些关于正确配置流程的明显内容。任何关于这里发生的事情以及如何解决它的建议将不胜感激。谢谢。

【问题讨论】:

    标签: hdfs apache-nifi


    【解决方案1】:

    如果您可以分享更多您的流程,那将很有帮助。 MoveHDFS 处理器需要传入的流文件才能处理它们,因此无论生成或接收流文件的处理器都需要将它们传递给该处理器。队列是否显示任何排队的流文件?处理器显示在过去五分钟内没有读入任何流文件。您可以使用ListHDFSGenerateFlowFile 来创建此处理器期望的流文件。

    如果这不是问题,您还可以检查处理器计划以确保将其设置为频繁运行(它应该是事件驱动的,但如果由于某种原因设置了计时器并且时间很长,则可能会导致此行为)。

    对于新的 HDFS 文件系统,您是否在 MoveHDFS 处理器属性中提供了(正确且完整路径的)core-site.xmlhdfs-site.xml 文件?如果未找到现有文件,它将创建默认文件。 Apache NiFi site 上提供了完整的文档。

    【讨论】:

    • 没有输入连接的事件,MoveHDFS 预计可以工作,前提是提供了有效的(文字路径,而不是 EL 表达式)输入目录和输出目录。对吗?
    • 谢谢,这有帮助。不知道 moveHDFS 处理器需要某些其他处理器才能将文件输入其中。我曾认为,由于 moveHDFS 处理器具有输入和输出目录的字段。我以为我只需要一个组件。查看 NiFi 组件文档和 DEBUG 级别日志,我找不到任何暗示会出现这种情况(没有关于需要一些文件来源的投诉消息)。有没有其他资源可以用来解决这个问题?
    • 不,NiFi 的用户体验很差,Bryan 创建了一个 Jira 来改进这一点。感谢您提出问题,希望这可以帮助您顺利进行。
    最近更新 更多