NiFi SFTP BUG 以及1.15最近的修复
Posted 青冬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NiFi SFTP BUG 以及1.15最近的修复相关的知识,希望对你有一定的参考价值。
NiFi SFTP 1.15最近的修复
序
很久没更新关于NiFi相关的内容了,其实NiFi现在在 cloudera 社区的热度居高不下,大量的思想火花与bug被修复。这里就谈谈关于SFTP相关的一些修复工作。
auth: Hadi
Bug
众所周知,NiFi作为一个可视化低代码的开发工具,在项目里面那是一个快捷。我司就使用来作为数据接入、预处理的工作,其中大头部分就是SFTP部分,但从1.9.2升级到1.13.2到1.15.2我们的感受变化是巨大的。
1.13.2的bug有:
-
凡是涉及 SFTPTransfer的组件,不约而合的会创建大量线程。(各种关闭SFTP连接失败且无法GC)
-
SFTP连接keep alive不生效
-
SFTP连接突然卡死
-
List组件太慢还容易OOM
-
List组件当集群发生Primary Node的时候会重复扫描数据
-
List组件使用HBase作为缓存有时不生效
-
SFTP配上 认证的HTTPS/SOCKS Proxy后无法正常连接(使用这个主要是NiFi不可能每次都与数据源网络相通)
-
……
以上都是我们遇到过的bug,且都有参与社区的讨论。
SFTPTransfer 大量线程无法释放
https://issues.apache.org/jira/browse/NIFI-9328
https://issues.apache.org/jira/browse/NIFI-7455
当发生文件not.found时就会稳定触发这个问题。
1.15.0版本解决
SFTP连接 keep alive不生效
https://issues.apache.org/jira/browse/NIFI-7443
直接就是未生效
1.15.0版本解决
List组件主节点切换重复扫描数据
https://issues.apache.org/jira/browse/NIFI-9362
1.15.1版本解决
SFTP配上 认证的HTTPS/SOCKS Proxy后无法正常连接
https://issues.apache.org/jira/browse/NIFI-7749
https://issues.apache.org/jira/browse/NIFI-7835
1.15.3版本解决
其他解决方案
如果无法进行更新nifi版本,其实可以直接使用官方的standard nar包放入extensions中,经过测试nifi 1.13.2版本是可以使用1.15.3版本的nar。
或者进行二次编辑自己打包新的nar包进行构建打包。
将 org.apache.nifi.provessor.Processor文件进行编辑,将不需要的组件进行注释
然后重新打包项目,在nifi-standard-nar中获取打出来的nar包,如果需要更改项目名啊什么的,直接更改nar中的pom文件即可。
请特别注意,当使用1.15.X版本的pom依赖时,不能使用在1.15之前的版本中,会导致启动加载时报错,但如果你热加载nar包则不会,这个主要涉及一些自动加载的组件,如一些UI。
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-nar-bundles</artifactId>
<version>1.15.3</version>
</parent>
nifi github 1.15.3 下载地址:
https://github.com/apache/nifi/releases/tag/rel%2Fnifi-1.15.3
以上是关于NiFi SFTP BUG 以及1.15最近的修复的主要内容,如果未能解决你的问题,请参考以下文章