天天看点

nifi 版本升级

本实例是由1.12.1版本升级到1.14.0版本。

注意:从1.14.0版本开始nifi.properties文件中的参数nifi.sensitive.props.key必须设置一个值了(不用去专门打开该文件单独设置,可以通过操作步骤4中的命令进行),否则启动的时候会报错找不到这个参数字段。

官方文档的升级教程:http://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#upgrading_nifi    的    Install the new NiFi Version 

重点:一定要先看官方文档。

操作步骤:

1,下载安装包,将其放在与老版本保持在同一层的目录下。

wget https://mirrors.bfsu.edu.cn/apache/nifi/1.14.0/nifi-1.14.0-bin.tar.gz

wget https://mirrors.bfsu.edu.cn/apache/nifi/1.14.0/nifi-toolkit-1.14.0-bin.tar.gz   

文档说明:http://nifi.apache.org/docs/nifi-docs/html/toolkit-guide.html#zookeeper_migrator

2、解压安装包、即可使用。

tar -zxvf nifi-1.14.0-bin.tar.gz

tar -zxvf nifi-toolkit-1.14.0-bin.tar.gz

nifi 版本升级

 3,将自定义的nar包拷贝到新版本。如下图中发nar包都是公司业务需要开发的自定义的nar包,需要将其拷贝到新版本的对应目录下面。

nifi 版本升级

 4,一般来讲,低版本的nifi.properties文件中的参数nifi.sensitive.props.key参数值可以为空,但是1.14.0版本开始必须设值,所以要通过以下命令将老版本的flow.xml.gz和nifi.properties替换新版本的配置文件。详细解释在官方文档上也有啊。  这个命令需要用到nifi-toolkit工具包,所以在本文开头就请大家先安装了。 本命令的作用一就是将 处理器里面的加密的字段信息先解码再用新密码加密,否则启动nifi进程的时候会报错跟密码相关的错误。即将flow.xml.gz适配新版本,该文件中记录的是各种处理器和连接信息。第二个作用就是将老版本的nifi.properties拷贝到新版本, 其中Nifi12345678就是给新版本配置文件中nifi.sensitive.props.key字段设置的取值。

 ./nifi-toolkit-1.14.0/bin/encrypt-config.sh -f /opt/nifi-1.12.1/conf/flow.xml.gz -g /opt/nifi-1.14.0/conf/flow.xml.gz -s Nifi12345678 -n /opt/nifi-1.12.1/conf/nifi.properties -o /opt/nifi-1.14.0/conf/nifi.properties -x

-f指定源流。

-g指定目标流。xml.gz (nifi-1.10.0)

-s指定新的敏感属性键(new_password)

-n指定源nifi。属性(nifi-1.9.2)

-o指定目标nifi。属性(nifi-1.10.0)

-x告诉Encrypt-Config只处理敏感属性

5.启动新版本的nifi进程,观察各个处理器情况是否正常。(记得先关闭老版本的nifi进程啊)

提醒:记得看官方文档的升级部分,按照官方步骤操作就对了。升级过程中重点注意flow.xml.gz文件啊,本人就是在这里因为加密问题乱搞了几天,最后才发现用上面步骤4中的命令就直接搞定了。

提醒:升级过程中可能有点处理器版本会不支持,所以也请要手动升级啊。比如1.12.1版本支持kafka_11之类的,但是1.14.0支持的是PublishKafka_2_0,需要注意一下,不过这个官网文档也有提示的。

继续阅读