首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Nifi注册表和Docker版本控制和持久化Nifi流文件

使用Nifi注册表和Docker版本控制和持久化Nifi流文件
EN

Stack Overflow用户
提问于 2020-03-17 23:31:11
回答 1查看 3K关注 0票数 1

目前,我正在玩最新的稳定版本Nifi/Nifi-注册表和码头。我正在尝试在Gitlab中对流文件进行版本和持久化。我在网上找到了几个信息,但现在它不起作用了。所有组件都正常工作,我也可以将文件从Nifi版本转换到Nifi,但是Gitlab的最后一步目前还没有完成。

->我修改了providers.xml并将其安装到容器中

代码语言:javascript
运行
复制
<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>

你的人是否有一些经验,也许是一段代码片段?我会很感激的。

非常感谢。

亲切的问候,T

EN

回答 1

Stack Overflow用户

发布于 2020-09-04 04:23:50

虽然这是个老职位,但如果对任何人都有帮助的话,我会很高兴的。

我有下面的docker文件夹&它运行两个nifi &它是注册表容器。

在nifi目录中复制“conf”文件夹(可以从没有卷的情况下运行容器)

运行docker volume create nifi_data

docker-compose.yml文件是:

代码语言:javascript
运行
复制
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提供程序)

代码语言:javascript
运行
复制
<flowPersistenceProvider>
<class>org.apache.nifi.registry.provider.flow.git.GitFlowPersistenceProvider</class>
<property name="Flow Storage Directory">./flow_storage</property>

最后是restart.sh文件:

代码语言:javascript
运行
复制
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
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60731623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档