2019-08-07 12:10:22

Apache NiFi 术语词汇解释


Apache NiFi 术语词汇解释

本文转载自:NIFI术语 - memoordit的专栏 - CSDN博客

  • DataFlow Manager
    DataFlow Manager(DFM)是一个NiFi用户,具有添加,移除和修改NiFi数据流组件的权限。

  • FlowFile
    FlowFile代表NiFi中的一个单一数据。 FlowFile由两个组件组成:FlowFile属性和FlowFile内容。 内容是由FlowFile表示的数据。 属性是提供关于数据的信息或上下文的特性; 它们由键值对组成。 所有FlowFiles都具有以下标准属性:

  • uuid
    FlowFile的唯一标识

  • filename
    将数据存储到磁盘或外部服务时可以使用的可读文件名

  • path
    在将数据存储到磁盘或外部服务时可以使用的分层结构化值,以便数据不会存储在单个目录中

  • Processor
    处理器是用于监听传入数据的NiFi组件; 从外部来源提取数据; 发布数据到外部来源; 并从FlowFiles中路由,转换或提取信息。

  • Relationship
    每个处理器具有零个或多个为其定义的关系。 这些关系被命名以表示处理FlowFile的结果。 处理器处理完FlowFile之后,它会将FlowFile路由(或“传送”)到其中一个关系。 然后,DFM能够将这些关系中的每一个连接到其他组件,以便指定在每个可能的处理结果下,FlowFile下一步应该流到哪里。

  • Connection
    DFM通过将组件从NiFi工具栏的组件部分拖到画布上,然后通过连接将组件连接在一起,从而创建自动数据流。每个连接由一个或多个关系组成。 对于绘制的每个连接,DFM可以确定哪些关系应该用于连接。 这允许数据根据处理结果以不同的方式进行路由。 每个连接都有一个FlowFile队列。 当FlowFile被转移到特定的关系时,它被添加到属于关联连接的队列中。

  • Controller Service
    控制器服务是在用户界面中由DFM添加和配置之后,当NiFi启动并提供供其他组件(例如处理器或其他控制器服务)使用的信息时启动的扩展点。 StandardSSLContextService是由几个组件使用的公共控制器服务。 它提供了一次性配置密钥库和/或信任库属性并在整个应用程序中重新使用该配置的能力。 这个想法是,控制器服务不是在每个可能需要它的处理器中配置,而是根据需要提供给任何处理器。

  • Reporting Task
    报告任务在后台运行,提供关于NiFi实例中发生的事件的统计报告。 DFM根据需要在用户界面中添加和配置报告任务。 常见的报告任务包括ControllerStatusReportingTask,MonitorDiskUsage报告任务,MonitorMemory报告任务和StandardGangliaReporter。

  • Funnel
    漏斗是一个NiFi组件,用于将来自多个连接的数据合并到单个连接中。

  • Process Group
    当数据流变得复杂时,以更高,更抽象的级别划分数据流通常是有益的。 NiFi允许多个组件(如处理器)一起组成一个进程组。 NiFi用户界面使得DFM可以轻松地将多个进程组连接在一个逻辑数据流中,并允许DFM进入一个进程组,以便查看和处理进程组内的组件。

  • Port
    使用一个或多个进程组构建的数据流需要将进程组连接到其他数据流组件的方法, 这是通过使用端口来实现的。 DFM可以将任意数量的输入端口和输出端口添加到进程组,并适当命名这些端口。

  • Remote Process Group
    正如数据传入和传出过程组一样,有时需要将数据从一个NiFi实例传输到另一个实例。 虽然NiFi为从一个系统向另一个系统传输数据提供了许多不同的机制,但如果将数据传输到另一个NiFi实例,远程过程组通常是最简单的方法。

  • Bulletin
    NiFi用户界面提供了有关应用程序当前状态的监视和反馈。 除了滚动统计数据和为每个组件提供的当前状态之外,组件还能够报告公告。 只要组件报告了公告,公告图标就会显示在该组件上。 系统级公告显示在页面顶部附近的状态栏中。 使用鼠标悬停在该图标上将提供一个工具提示,显示公告的时间和严重程度(调试,信息,警告,错误)以及公告的消息。 所有组件的公告也可以在全局菜单中的公告栏页面中查看和过滤。

  • Template
    通常情况下,数据流由许多可重用的子流组成。 NiFi允许DFM选择一部分数据流(或整个数据流)并创建一个模板。 这个模板被赋予一个名字,然后可以像其他组件一样拖到画布上。 因此,可以将多个组件组合在一起以构建更大的构建块,从而创建数据流。 这些模板也可以导出为XML并导入到另一个NiFi实例中。

  • flow.xml.gz
    DFM放在NiFi用户界面画布上的所有内容都被实时写入到一个名为flow.xml.gz的文件中。该文件默认位于nifi / conf目录中。在画布上进行的任何更改都会自动保存到该文件中,用户无需点击“保存”按钮。另外,NiFi在更新时自动在归档目录中创建该文件的备份副本。您可以使用这些归档文件来回滚流配置。为此,请停止NiFi,用所需的备份副本替换flow.xml.gz,然后重新启动NiFi。在集群环境中,停止整个NiFi集群,替换其中一个节点的flow.xml.gz,然后重新启动这个节点,从其他节点中删除flow.xml.gz。一旦确认节点启动为单节点群集,请启动其他节点。替换的流配置将在整个集群中同步。 flow.xml.gz的名称和位置以及自动归档行为是可配置的。有关详细信息,请参见“System Administrator’s Guide”。


商业用途请联系作者获得授权。
版权声明:本文转载自「小南瓜瓜」,版权归原所有者。
原文链接:https://blog.csdn.net/memoordit/article/details/78804594
评论与留言
以下内容均由网友提交发布,版权与真实性无法查证,请自行辨别。

本站有缓存策略,时间约2小时后能看到您的评论。本站使用自动审核机制,如果您的内容包含广告/谩骂/恐怖/暴力/涉政等不和谐内容将无法展示!


本站有缓存策略,时间约2小时后能看到您的评论。本站使用自动审核机制,如果您的内容包含广告/谩骂/恐怖/暴力/涉政等不和谐内容将无法展示!

关注任霏博客
扫码关注「任霏博客」微信订阅号
微博:任霏博客网
Twitter:@renfeii
Facebook:任霏
最新留言 这个恶意攻击是只有服务器安装有Redis 才会遭受攻击吗 我用电脑和手机分别访问了45,133,203,192 这个ip地址,这个ip地址对应的服务器是不是只托管了脚本,提供木马自动去下载,并没有任何攻击性的东西,是这样的吗? 你好,我这边想问下,镜像服务启动了,该连接哪个数据库呢? 不更新? 优先级低的并不代表一定要等到优先级高的运行完才能运行,只是cpu分配的资源少了而已。 /lib64/ld-linux-x86-64.so.2: No such file or directory 报了这个错误,怎么解决呢 对于一个布道 DevOps 多年的选手来讲,看到这个报告,还是想继续布道布道。虽然是各种对比哈,但是我感觉与 DevOps 太像了(可能是职业病犯了哈)。首先声明本人不是GitLab 用户(因为不免费,没法薅羊毛啊),本人是 GitHub 忠实用户。 首先,你这是田忌赛马的对比,中文对比一事,着实有点可笑 1 土生土长和外来户能立马拉到同一个起跑线上吗? 2 一个真正的开发者应该去提升自己的英语能力,而不是拿全部是中文文档说事。大家都知道现在开源非常热,开发者是开源的主力军,如果要贡献优秀的开源项目(诸如Linux 内核,Kubernetes),英语就是个硬门槛。如果我是你,我倒希望公司内部的系统是英文的,最起码能让我锻炼英语,在看开源项目文档的时候不至于看不懂,提 PR 的时候不至于提交代码的内容描述不清楚而没法被 Merge。 其次,阿里云效、Coding 大家都知道背后站的是谁,很容易造成厂商绑定,现在很多企业都希望不要被厂商绑定。 再者,有一个点需要明白,GitLab 是一个 DevOps 平台,什么叫做 DevOps 平台(DevOps 走到现在,确切的说应该叫做 DevSecOps)?就是覆盖了软件开发生命周期全阶段的,从项目管理到代码托管到安全再到日志监控、甚至包含现在的云原生能力。不仅仅是说一个 CI/CD 就能概括的了的。这一点是 DevOps 布道的真正误区,我见过太多了,我在这儿再布道一哈,CI/CD 不等于 DevOps,他只是 DevOps 落地实践的核心能力。仅凭借一个 CI/CD 能有现成模版就判断出哪个好坏,过于牵强了吧。相信大家真正到项目用的时候,模版是满足不了要求的吧,毕竟大家都很特性化。 最后,还是一个很热的话题,开源,open source。GitLab 是开源的,Coding 和 云效这方面我没看到相关的开源内容(可能是我孤陋寡闻)。大家可以看看国内有多少用 GitLb 的,GitLab 的 CE 版,然后私有化部署,就是很多公司的代码托管 + DevOps 解决方案。 个人愚见,做一些对比报告的时候,还是先需要明白这个产品的定位,去深入挖掘一些真正有意义的对比,这样的对比报告才能有意义。作为一个常年写博客、文章的人来说。你写的每个字、每篇文章,你要想到你的思想会影响到别人。有可能因为你的片面之词,让别人错失一些学习的好机会。 docker run 那一长串后,出来一个字符串,然后去 docker containers 下面看 显示 exited(1);logs 下就一行错误 initdb failed 感谢🙏,第一个问题是空格的问题应该,我逐字敲完后可以构建了.第二个问题是我docker环境的问题,docker更新为最新版后需要重置配置文件.现已经正常使用,再次感谢您的分享和您的细心解答,期待下次相遇😄 还有一个问题可以请教下吗?就是我在容器里建文件夹没有权限,su root后密码不知道是多少,sudo mkdir xxx 提示我,没有sudo命令,请问有好的解决方法吗?谢谢解答 -v 后面可以指定文件吗 我的也是报错,还有。我执行了这个:@localhost kingbase-es-v8-r3-docker % docker run -d --name kingbase -p 54321:54321 -e SYSTEM_PWD=SYSTEM -v /opt/kingbase/data:/opt/kingbase/data -v /opt/kingbase:/opt/kingbase/Server/bin kingbase:v8r3 docker: 'run -d --name kingbase -p 54321:54321 -e SYSTEM_PWD=SYSTEM -v /opt/kingbase/data:/opt/kingbase/data -v /opt/kingbase:/opt/kingbase/Server/bin kingbase:v8r3' is not a docker command. See 'docker --help' 麻烦帮忙看下,是不是我写的命令有问题,还是版本问题,谢谢啦