Apache nifi Nifi无法写入FileSystemRepository流

Apache nifi Nifi无法写入FileSystemRepository流,apache-nifi,Apache Nifi,我有一个使用getFile处理器的流程。输入目录是网络装载点。当我在小文件(小于1GB)上测试流时,它工作得很好。当我在更大的文件(超过1GB)上测试它时,我得到以下错误: GetFile[id=f1a533fd-1959-16d3-9579-64e64fab1ac6]检索失败 由于 org.apache.nifi.processor.exception.FlowFileAccessException:未能 将数据从/路径/导入到/目录 StandardFlowFileRecord[uuid=f

我有一个使用getFile处理器的流程。输入目录是网络装载点。当我在小文件(小于1GB)上测试流时,它工作得很好。当我在更大的文件(超过1GB)上测试它时,我得到以下错误:

GetFile[id=f1a533fd-1959-16d3-9579-64e64fab1ac6]检索失败 由于 org.apache.nifi.processor.exception.FlowFileAccessException:未能 将数据从/路径/导入到/目录 StandardFlowFileRecord[uuid=f8389032-c6f5-43b9-a0e3-7daab3fa115a,索赔=,偏移量=0,名称=490908298990,大小=0] 由于java.io.IOException:无法写入FileSystemRepository 流[StandardContentClaim] [resourceClaim=StandardResourceClaim[id=1486976827205-28, 容器=默认值,节=28],偏移量=0,长度=45408256]]

你知道这个错误的起因吗


感谢您的回答

根据这些评论,Andy找到了这个具体案例的答案,并得到了提问者的确认:

内容存储库与文件大小的比例太小


未来读者需要关注的另一件事是Nifi节点的内存是否足够大以容纳单个消息。

尽管Dennis提供的答案在分析根本原因时是正确的,但没有解决方案,所以让我提供一个

容器的答案/解决方案 由于您无法为docker
卷指定大小,因此如果您缺少用于flowfiles内容的所需空间,我们无法将其用于此任务

相反,我建议使用
bind mounts
。这样,您最多可以使用(理论上)所有的计算机磁盘

# Create a folder where to locate the NiFi Flowfiles content in the host
mkdir -p /tmp/data/nifi/nifi-data-content_repository
然后,修改
docker compose.yml
文件以修改要使用的存储类型。具体而言,您必须查找内容存储库卷:

- type: source
  source: nifi-data-content_repository
  target: /opt/nifi/nifi-current/content_repository
并将其替换为针对我们刚才创建的文件夹的绑定装载:

- type: bind
  source: /tmp/data/nifi/nifi-data-content_repository
  target: /opt/nifi/nifi-current/content_repository
准备好了,现在您可以使用能够使用主机磁盘空间的装载重新部署NiFi


请阅读。

中有关绑定装载的详细信息。您的内容存储库有什么类型的可用磁盘?有多少空间?你期望的吞吐量是多少?您是否按照中所述更改了配置?我还建议日志文件中有更多关于IoException的可用信息,如果是这样的话,可能会非常有说服力。嗨,Andy,Joe,我的所有存储库(内容存储库、flowfile存储库、出处存储库等)都只有几GB可用空间。目前,我正在单个文件上测试流,因此预计不会有大的吞吐量。对内容存储库的大小有什么要求吗?至于日志,我在nifi.app.log上查找了错误,但没有找到任何关于我在UI上遇到的错误的引用。有没有其他文件我应该去看?谢谢你的建议。嘿,穆罕默德,你找到这个问题的解决方案了吗?嗨,罗曼,是的,问题是安迪建议的内容存储库的大小。这些回购协议用作流文件的临时存储空间。因此,扩大回购规模解决了问题。我通常不会这么说,但正如你明确提到的,我的答案是正确的:通常这会伴随着向上投票,这样其他人也会认为它是正确的;-)虽然这个答案可能并不完全是被问到的,但我确实相信它可以帮助未来的游客,所以他们也会投票。