代码之家  ›  专栏  ›  技术社区  ›  dsollen

Nifi无法启动,因为int上缺少snappyjava,但dev上没有

  •  0
  • dsollen  · 技术社区  · 3 年前

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

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

    我检查了运行该程序的开发服务器,根据mlocate,该服务器上没有/data/nifi/work目录,libsnappyjava也不存在。

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

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

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

    那么,为什么我的int在没有snappyJava的情况下开发似乎很好的时候却在寻找它呢?

    0 回复  |  直到 3 年前