环境
在Ubuntu 18.04.4 LTS的Docker 18.09.7中运行的Apache Nifi 1.12.1
问题
如何在不终止容器的情况下向Docker中运行的Nifi添加现有的自定义NAR。
尝试过
我有一个从主机到容器的挂载,可以在其中放置NAR。
#1重新启动Nifi
然后,我将NAR复制到/lib
目录。
重新启动Nifi,但这会杀死容器
#2将NAR从安装目录复制到/extensions
目录
按照:
https://www.nifi.rocks/auto-loading-extensions/
但是什么也没发生
我需要能够在不丢失容器的情况下将NAR添加到Nifi
任何帮助/提示将不胜感激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
dir中正在加载NAR020-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目录即可。
所以我将NAR放到已挂载的目录中,然后将NAR复制到 /extensions
在nifi-app.log
中可以看到正在加载NAR
然后可以将刷新UI和处理器添加到 Canvas