【发布时间】:2020-04-24 02:04:35
【问题描述】:
我有一组进程组在 1.8.0 NiFi 服务器上愉快地运行。我在一个单独但类似的服务器上创建了一个 NiFi 1.11.1 实例,并在相同的进程组上进行了模板化。在新的 1.11 服务器上,处理器(所有处理器,按类型没有明显区别)处理一小批任务,然后在一个任务上挂起数小时。
重新启动处理器没有明显的效果,重新启动 NiFi 实例本身通常可以让处理器在问题再次出现之前正常运行一两分钟。日志中没有错误,增加内存没有效果,处理器使用率没有超过 20%。
我一直在与正在运行的服务器进行比较,唯一的区别是较新的 NiFi 版本和操作系统的打开文件限制(在我更新以匹配工作服务器之前,这确实导致日志中出现错误语句)。当然,我只检查了我想检查的内容,所以请提出我可能遗漏的任何内容。
我对 NiFi 很陌生,所以如果有我可以用来获取更多信息的诊断或类似工具,请告诉我。
【问题讨论】:
-
您应该生成一个或多个thread dumps 以确定应用程序被阻止的位置。打开文件限制肯定会影响 NiFi,因为它通常需要同时打开许多文件。
-
文件限制确实在我更新它以匹配工作服务器之前引起了问题。线程转储将大多数线程列为等待或定时等待,还有少量可运行的。可运行文件都报告“锁定的同步器数量:1”。这是我应该担心的事情吗?
-
如果您需要进一步的帮助,请分享您问题中的线程转储内容或将其发送至 dev@nifi.apache.org。
-
线程转储太大,无法编辑到评论中,所以我把它放在这里:pastebin.com/A6SyWGsu
-
我真希望早点找到全局线程设置。定时器驱动设置为 10,事件驱动设置为 1,而工作的生产服务器两者都设置为 300。编辑:这成功了。如果您将此添加为答案,我会很乐意接受。另外,谢谢。
标签: apache-nifi