首页 > 解决方案 > Nifi 由于 int 上缺少 snappyjava 而无法启动,但在 dev 上却没有

问题描述

我有安装运行 nifi 的 docker 容器的 ansible 脚本。我已经在我们的开发盒上运行这些脚本没有问题。但是,当我在我们的 int 框中运行它们时,我在 nifi-bootstrap.log 中看到以下错误,导致整个 nifi 在启动时立即死亡:

java.io.FileNotFoundException: /data/nifi/work/snappy-1.0.5-libsnappyjava.so (No such file or directory)

我检查了正在运行的开发服务器,没有 /data/nifi/work 目录,并且根据 mlocate,该服务器上的任何地方都不存在 libsnappyjava。

两个版本之间的流文件完全相同,我已经做了一个 md5sum 来确保这一点。nifi.properties 文件中的唯一区别是它们每个都有自己的 VM 主机名由 ansible 注入到适当的字段中。nifi 安装是尚未触及的父 docker 映像的一部分,因此跨映像也应该相同。

我正在使用我公司创建的 nifi tarball,其中包含一些公司特定的 jar 等,但它应该建立在最新的 nifi 版本之上。

我可以说的功能开发和非功能 int 之间的唯一区别是,在升级 nifi 以获得更新的 nifi api 之前,我最初安装了一个运行旧 nifi 版本的 docker 映像。我不知道在升级之前以某种方式运行旧的 nifi 是否会以某种方式更改我们的 /data 目录以防止升级的 nifi 失败?

那么为什么我的 int 会在没有 snappyJava 的情况下寻找 snappyJava 呢?

标签: dockerapache-nifi

解决方案


推荐阅读