问题描述
环境
在Ubuntu 18.04.4 LTS上的Docker 18.09.7中运行的Apache Nifi 1.12.1
问题
如何在不终止容器的情况下向Docker中运行的Nifi添加现有的自定义NAR。
尝试
#1重新启动Nifi
然后我将NAR复制到/lib
目录中。
重新启动Nifi,但这会杀死容器
#2将NAR从安装目录复制到/extensions
目录
按照: https://www.nifi.rocks/auto-loading-extensions/
但是什么也没发生
我需要能够在不丢失容器的情况下向Nifi添加NAR
任何帮助/提示将不胜感激
docker-compose.yml
version: '3'
services:
nifi:
build: ./nifi
container_name: nifi
ports:
- 7777:8080
volumes:
- ./data:/opt/nifi/nifi-current/data
Dockerfile
FROM apache/nifi:latest
RUN mkdir /opt/nifi/nifi-current/data
RUN chown -R nifi:nifi /opt/nifi/nifi-current/data
EXPOSE 8080
编辑
看起来像是将NAR的副本复制到/extensions
目录中,正在加载NAR
020-10-06 10:35:15,707 INFO [NAR Auto-Loader] org.apache.nifi.nar.StandardNarLoader Starting load process for 1 NARs...
2020-10-06 10:35:15,836 INFO [NAR Auto-Loader] org.apache.nifi.nar.StandardNarLoader Creating class loaders for 1 NARs...
2020-10-06 10:35:15,838 INFO [NAR Auto-Loader] org.apache.nifi.nar.NarClassLoaders Loaded NAR file: /opt/nifi/nifi-current/./work/nar/extensions/my-nar-1.0-SNAPSHOT.nar-unpacked as class loader org.apache.nifi.nar.NarClassLoader[./work/nar/extensions/my-nar-1.0-SNAPSHOT.nar-unpacked]
2020-10-06 10:35:15,838 INFO [NAR Auto-Loader] org.apache.nifi.nar.StandardNarLoader Successfully created class loaders for 1 NARs,0 were skipped
2020-10-06 10:35:16,076 INFO [NAR Auto-Loader] org.apache.nifi.nar.StandardNarLoader Finished NAR l
但是它没有显示在Add Processor
列表中...
编辑
只需刷新浏览器中的Nifi UI即可看到处理器
解决方法
解决方案
#2将NAR从安装目录复制到/ extensions dir 。
所以我将NAR放到已挂载的目录中,然后将NAR复制到 /extensions
在nifi-app.log
中可以看到正在加载的NAR
然后刷新UI和处理器可以添加到画布