Apache nifi ApacheNIFI-流文件卡在队列中

Apache nifi ApacheNIFI-流文件卡在队列中,apache-nifi,Apache Nifi,流文件卡在队列中(按属性进行负载平衡),并且不会被下一个下游处理器读取(使用CSVReader和CSVRecordSetWriter合并记录)。从Nifi UI中,似乎流文件在队列中,但当尝试列出队列时,会显示“队列没有流文件”。尝试清空队列也会给出确切的消息。Nifi日志没有任何与处理器相关的异常。队列中大约有80个流文件 我尝试了以下行动项目,但都没有成功: 重新启动下游和上游(ConvertRecord)处理器 已禁用和启用CSVReader和CSVRecordSetWriter 禁用负

流文件卡在队列中(按属性进行负载平衡),并且不会被下一个下游处理器读取(使用CSVReader和CSVRecordSetWriter合并记录)。从Nifi UI中,似乎流文件在队列中,但当尝试列出队列时,会显示“队列没有流文件”。尝试清空队列也会给出确切的消息。Nifi日志没有任何与处理器相关的异常。队列中大约有80个流文件

我尝试了以下行动项目,但都没有成功:

  • 重新启动下游和上游(ConvertRecord)处理器
  • 已禁用和启用CSVReader和CSVRecordSetWriter
  • 禁用负载平衡
  • 流文件过期时间设置为3秒
截图: 流程文件: 合并记录属性: CSVReader服务: CSVRecordSetWriter:
这可能是因为流文件的内容已被删除。但是,它的条目仍然存在于流文件注册表中

如果您有固定的nifi设置,并且没有繁重的生产流程,您可以停止nifi流程并删除*存储库文件夹(flowfile存储库、内容存储库等)中的所有内容 (前提是您已装入所有目录,并且没有其他数据丢失的风险)


如果您需要进一步帮助,请告诉我这可能是因为flowfile的内容已被删除。但是,它的条目仍然存在于流文件注册表中

如果您有固定的nifi设置,并且没有繁重的生产流程,您可以停止nifi流程并删除*存储库文件夹(flowfile存储库、内容存储库等)中的所有内容 (前提是您已装入所有目录,并且没有其他数据丢失的风险)


如果您需要进一步帮助,请告诉我

您的合并记录处理器仅在主节点上运行,并且所有文件可能都在其他节点上(因为您正在进行负载平衡)。NiFi没有足够的意识到下游处理器仅在主节点上运行,因此它不会自动将所有内容重新平衡到主节点。只需将MergeRecord更改为在所有节点上运行,即可允许文件通过


唉,我还没有找到将所有流文件返回主节点的方法,您可以使用“单节点”负载平衡策略获取同一节点上的所有文件,但它不一定是主节点。

您的合并记录处理器仅在主节点上运行,并且可能所有文件都在其他节点上(因为您正在进行负载平衡)。NiFi没有意识到下游处理器仅在主节点上运行,因此它不会自动将所有内容重新平衡到主节点。只需将MergeRecord更改为在所有节点上运行,即可允许文件通过


唉,我还没有找到一种方法将所有流文件恢复到主节点上,您可以使用“单节点”负载平衡策略,用于获取同一节点上的所有文件,但它不一定是主节点。

在对流文件进行负载平衡的方式中,您缺少配置。若要检查该配置,请停止MergeRecord处理器,以便能够检查和查看队列中的内容


在显示的模式窗口中,您可以检查您的流文件在哪里等待,很可能您的流文件实际上位于另一个节点上但是,由于MergeRecord在主节点上运行,因此它的队列中没有任何内容。

在负载平衡流文件的方式中,您缺少配置。若要检查该配置,请停止MergeRecord处理器,以便能够检查和查看队列中的内容


在显示的模式窗口中,您可以检查您的流文件在哪里等待,很可能您的流文件实际上位于另一个节点上但是,由于MergeRecord正在主节点上运行,因此它的队列中没有任何内容。

屏幕截图会很有帮助。@daggett添加了屏幕截图。如果您还需要什么,请告诉我。另外,请显示MergeRecord的参数添加了所有详细信息。您可能需要升级到1.9.0以解决负载平衡连接的一些问题。屏幕hot会很有帮助。@daggett添加了屏幕截图。如果您还需要什么,请告诉我。另外,请显示MergeRecord的参数添加了所有详细信息。您可能需要升级到1.9.0以解决负载平衡连接的一些问题。