我正在使用nifi 1.1.0并在其上运行太多处理器,因此运行负载太多。由于负载过多,处理器运行速度非常慢,我收到了一些错误:
The rate of the dataflow is exceeding the provenance recording rate. slowing down flow to accommodate.
我在“nifi.properties”文件中更改了起源存储库的存储大小,但没有任何改进。我更改了以下属性:
nifi.provenance.repository.max.storage.size = 2 GB
我用谷歌搜索但没有得到适当的解决方案。任何人都可以帮助我如何解决这个问题。
请查看以下屏幕截图:
答案 0 :(得分:3)
该错误属于以下属性。
nifi.provenance.repository.index.threads=1
默认值为1.
对于在大量FlowFiles上运行的流,Provenance事件的索引可能成为瓶颈。
如果是这种情况,将出现一个公告,指示“数据流的速率超过出处记录率。减少流量以适应。”
如果发生这种情况,增加此属性的值可能会提高Provenance Repository能够处理这些记录的速率,从而提高整体吞吐量。
请记住,当您增加分配给一个进程的线程数时,可以减少另一个进程可用的数量。因此,除非遇到上述错误消息,否则应将其保留为一个。
为了您的考虑,您可以使用以下最佳实践配置NiFi
您可能会获得更好的效果。
答案 1 :(得分:0)
应设置新的默认出处回购: nifi.provenance.repository.implementation = org.apache.nifi.provenance.WriteAheadProvenanceRepository
https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#provenance-repository