问题描述
使用QueryDNS,我的一些传入流文件带有“无效”的完全限定域名。 在这种情况下,QueryDNS处理器会显示难看的错误消息
Failed to process session due to Unexpected NamingException while processing records. Please review your configuration.: org.apache.nifi.processor.exception.ProcessException: Unexpected NamingException while processing records. Please review your configuration.
它将流文件返回到传入队列,并将无限循环,并尝试处理该流文件。同时,其他传入流文件将停留在传入队列中,并且由于处理器仅存在“已找到”或“未找到”关系,因此永远不会得到处理。
如何摆脱这些流文件(在NiFi 1.9.2中),例如将它们传递给LogAttribute处理器?
解决方法
我发现解决这个问题的唯一方法是在它到达处理器之前彻底清理/验证我正在查找的主机名/IP。
老实说,处理器并不适合处理大量数据。您提到的问题加上缺乏缓存使其在生产中几乎无用。
最后,我们改用 Logstash 而不是 NiFi 来丰富我们的内容,不过,根据您的用例,这可能是不可能的。