我们正在运行一个NiFi 1.7.1服务器,该服务器通过3个GetFile处理器拾取文件并将其上传到云端。
服务器启动时,它可以正常运行并搜索找到的所有文件。但是,运行了几天后,它似乎变得停滞了:
- GetFile处理器全部显示1个线程正在运行,但是即使它们的源目录中存在文件,它们似乎也没有做任何事情。
- 队列中什么都没有等待。
- 日志中没有消息。
- “ top”命令显示Java使用约3%的CPU和21%的内存。这是具有8GB内存的4-CPU服务器。
- 如果我尝试通过Web界面停止任何处理器,它将失去响应。重新加载页面后,出现登录屏幕,但登录后它挂在加载动画上,而没有显示流模式。
- 如果我重新启动NiFi服务,它会突然运行良好:它将拾取所有正在等待的文件,并且不会使任何线程挂起(根据Web界面)。这将再持续几天...
这是怎么回事?我该如何解决?
编辑::三个GetFile处理器各自从不同的文件夹中读取,但是它们都将文件发送到同一位置。它们被配置为拾取所有文件(filepattern。*),每10秒轮询一次,最小文件寿命为1分钟,不保留源文件。我没有触摸“计划”标签,因此它只是默认设置。