在docker实例中使用Apache Nifi,适合初学者

时间:2018-03-23 10:19:41

标签: apache-nifi

所以,我非常希望能够使用我已经拥有的模板来启动运行Nifi的容器。我对容器非常陌生,对Nifi来说还算新手。我想我知道如何启动Nifi容器,但不知道如何制作它以便它每次都会自动运行我的模板。

1 个答案:

答案 0 :(得分:2)

您可以使用apache/nifi Docker container found here作为起点,并使用Docker RUN / COPY命令注入所需的流量。将现有流加载到NiFi实例有三种方法。

  1. 导出将流作为模板(包含导出的流段的XML文件)并将导入作为模板运行到正在运行的Nifi实例中。这需要“目标”NiFi实例运行并使用NiFi API。
  2. 创建所需的流程,通过复制$NIFI_HOME/conf/flow.xml.gz手动从“源”NiFi实例中提取整个流,并覆盖“目标”NiFi的flow.xml.gz目录中的conf文件。这不需要目标NiFi实例运行,但它必须在目标NiFi启动之前发生。
  3. 使用NiFi Registry版本控制来自源NiFi的原始流段,并使其可用于目标NiFi。对于您的场景来说,这似乎有些过分。
  4. 我建议选项2,因为你应该有你想要的所需流程。只需在Dockerfile中使用COPY /src/flow.xml.gz /destination/flow.xml.gz即可。

    如果您真的希望它“每次都运行我的模板”,您可能希望在复制/保存时确保处理器全部处于启用状态(显示“播放”图标)关闭flow.xml.gz文件,以及nifi.propertiesnifi.flowcontroller.autoResumeState=true中的文件。