【问题标题】:Versioning and persisting Nifi flowfiles with Nifi-Registry and Docker使用 Nifi-Registry 和 Docker 对 Nifi 流文件进行版本控制和持久化
【发布时间】:2020-03-17 23:31:11
【问题描述】:

目前我正在使用最新的稳定版本 Nifi/Nifi-registry 和 Docker。我正在尝试在 Gitlab 中对流文件进行版本化和持久化。 我在网上找到了一些信息,但现在它不起作用。所有组件都在工作,我还能够将文件从 Nifi 版本化到 Nifi-Registry,但目前缺少 Gitlab 的最后一步。

--> 我修改providers.xml并将其挂载到容器中

<flowPersistenceProvider>
  <class>org.apache.nifi.registry.provider.flow.git.GitFlowPersistenceProvider</class>
  <property name="Flow Storage Directory">./versioned_flows</property>
  <property name="Remote To Push">origin</property>
  <property name="Remote Access User">*Name*</property>
  <property name="Remote Access Password">*Token*</property>
</flowPersistenceProvider>

andybody 是否有一些经验,也许还有代码 sn-p?我会很感激的。

非常感谢。

亲切的问候, T

【问题讨论】:

  • 日志是否提供任何信息?

标签: docker gitlab apache-nifi-registry


【解决方案1】:

虽然是老帖子,但如果对大家有帮助,我会很高兴。

我有以下 docker 文件夹,它同时运行 nifi 和它的注册表容器。

复制 nifi 目录中的 'conf' 文件夹(可以从运行没有卷的容器中获取)

运行docker volume create nifi_data

docker-compose.yml 文件为:

version: "3.7"
services:

nifi:
  container_name: nifi
  image: apache/nifi:1.11.4
  ports:
    - target: 8080
      published: 8080
      protocol: tcp
      mode: host
  restart: always
  environment:
    - NIFI_WEB_HTTP_HOST=0.0.0.0
    - NIFI_JVM_HEAP_INIT=4g
    - NIFI_JVM_HEAP_MAX=6g
    - NIFI_VARIABLE_REGISTRY_PROPERTIES=./conf/env.properties
  volumes:
    - nifi_data:/opt/nifi/nifi-current/
    - ./nifi/extensions:/opt/nifi/nifi-current/extensions
    - ./nifi/conf:/opt/nifi/nifi-current/conf

nifi-registry:
  container_name: nifi-registry
  image: apache/nifi-registry:0.7.0
  ports:
    - target: 18080
      published: 18080
      protocol: tcp
      mode: host
  environment:
    - NIFI_REGISTRY_WEB_HTTP_HOST=0.0.0.0
    - JVM_OPTS=-Xmx512m -Xms512m -XX:MaxPermSize=1g
  volumes:
    - $PWD/registry/providers.xml:/opt/nifi-registry/nifi-registry-current/conf/providers.xml
    - $PWD/registry/flow-storage:/opt/nifi-registry/nifi-registry-current/flow_storage
    - $PWD/registry/database:/opt/nifi-registry/nifi-registry-current/database
volumes:
  nifi_data:
    external: true
networks:
  default:
    external:
      name: nifi-network

注意:我有自定义属性 (env.properties) 并且自定义处理器位于“扩展”目录下。此外,由于 nifi 在“nifi”用户下运行,您可能会遇到权限问题 - 我相信您会解决的 :)

providers.xml(采用默认的 - 注释文件系统提供程序并取消注释 git 提供程序)

<flowPersistenceProvider>
<class>org.apache.nifi.registry.provider.flow.git.GitFlowPersistenceProvider</class>
<property name="Flow Storage Directory">./flow_storage</property>

最后是restart.sh文件:

chown -R 1000:1000 nifi registry // nifi's user:group
chmod -R 775 nifi registry
chmod -R g+s nifi registry
docker-compose down
docker-compose up -d

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多